Mission1. Baseball-Unit Test
λ₯μ€νΈ μ€ν
: μλ° νλ μ΄κ·ΈλΌμ΄λ - μ«μ μΌκ΅¬κ²μ
μ«μμΌκ΅¬κ²μ - νμ΅ ν
μ€νΈ μ€μ΅
StringClass νμ΅ ν
μ€νΈ
β μꡬμ¬ν 1
"1, 2"μ
,
λ‘split
νμ λ 1κ³Ό 2λ‘ μ λΆλ¦¬ λλμ§ ν μ€νΈ μΌμ΄μ€ μμ±"1"μ
,
λ‘split
νμ λ 1λ§μ ν¬ν¨νλ λ°°μ΄μ΄ λ°ν λλμ§ ν μ€νΈ μΌμ΄μ€ μμ±
ννΈ ν€μλ
assertj contains()
assertj containsExactly()
λ΄μ©
νμ΅ ν€μλκ° μ΄λ€ μν©μ μ΄λ€ ν μ€νΈ λ©μλλ‘ κ²μ¦ ν΄μΌ νλμ§ λͺ ννκ² λμ μμκΈ° λλ¬Έμ μ΄λ €μ΄ λ΄μ©μ΄ μμλ€. λ³Έ λ―Έμ μ λ€μ΄κ°κΈ° μ λ―Έμ μ μ§ν νλ λ°©λ²μ μλ €μ£Όλ μλ°μ λ¨κ³ μΈ κ² κ°λ€. κ·ΈλΌμλ λΆκ΅¬νκ³ Java μνκ³μμ μ€λ¬΄λ₯Ό νκ³ μμ§ μμκΈ° λλ¬Έμ ꡬκΈλ§μ λ°νμΌλ‘ λ―Έμ μ ν΄κ²° νκ³ μλ€.
μ°Έκ³ μλ£
κ²μ ν€μλ: Google > "java assertj contains", "how to write unit test java"
β μꡬμ¬ν 2
"(1,2)" κ°μ΄ μ£Όμ΄μ‘μ λ ()μ μ κ±°νκ³ "1,2"λ₯Ό λ°ννλ ν μ€νΈ μΌμ΄μ€ μμ±
ννΈ ν€μλ
String substring
λ΄μ©
μꡬμ¬ν 1λ²μ ν΄κ²° νλ©΄μ λλ¦μ λμΉλ₯Ό λ°°μ λμ§ μ΄λ ν κ²μλ μμ΄ λ°λ‘ String ν΄λμ€μ substring
μ μ κ·Ό ν΄μ μνλ λ°μ΄ν°λ₯Ό λ½μ ν κ²μ¦μ μ§ν νλ€.
β μꡬμ¬ν 3
"abc" κ°μ΄ μ£Όμ΄μ‘μ λ νΉμ μμΉμ λ¬Έμλ₯Ό κ°μ Έμ¨ ν κ²μ¦ νλ ν μ€νΈ μΌμ΄μ€ μμ±
IndexOutOfBound Exception μΌμ΄μ€ μμ±
DisplayNameμΌλ‘ ν μ€νΈ μΌμ΄μ€μ λν λ΄μ© μμ±
ννΈ ν€μλ
λ΄μ©
DisplayName
ν
μ€νΈ λ©μλλ₯Ό 보μλ§μ λ€λ₯Έ ν
μ€νΈ μΌμ΄μ€μλ λͺ¨λ μμ± ν΄μ€¬λ€. κΈ°μ‘΄μλ νμ΄μ¬μ Docstring ννλ‘ μ£Όμμ λ¬μμ μ¬μ© νλ €κ³ νμ§λ§ λ§€μ° μ μ©ν λ©μλκ° μμκΈ° λλ¬Έμ μ μΈ μ΄μ κ° μμλ€.
ννΈμ μ 곡 ν΄μ€ λ¬Έμλ₯Ό 보μλ§μ λ°λ‘ ν΄κ²° ν μ μμ κ² κ°λ€κ³ νλ¨ νλλ° λ¬Έμμ λͺ
μ λ μν©κ³Ό λ΄κ° μμ±νλ μν©κ³Ό μ μ¬ν λλμ΄ λ€μ§ μμμ ꡬκΈλ§μ ν λ² λ νμ¬ μ ννκ² ν€μλλ₯Ό λ½μλ΄μλ€. κ²°κ΅ assertThatThrownBy
λ΄λΆμμ μ€ν ν ν¨μλ₯Ό Exception
μΌλ‘ μ‘μ λ€ μ²΄μ΄λ λ°©μμΌλ‘ κ²μ¦μ μ΄μ΄λκ° μ μλ€λ κ±Έ λ°°μ λ€. μ΄λ κ² λλ©΄ Given, When, Then κ΅¬μ‘°κ° μ ννκ² λμ¨λ€.
Given: "abc" κ°
When:
charAt(4)
μassertThatThrownBy
λ₯Ό μ΄μ© νμ¬Exception
κ°μ²΄λ‘ λ³νThen:
isInstanceOf
,hasMessageContaining
μ μ΄μ©ν κ²μ¦
μ°Έκ³ μλ£
κ²μ ν€μλ: Google > "Junit exception test"
SetCollection νμ΅ ν
μ€νΈ
Fixture
β μꡬμ¬ν 1
Fixture numbersμ
size
λ©μλλ₯Ό νμ©ν΄ λ°μ΄ν° ν¬κΈ° κ²μ¦
ννΈ ν€μλ
μμ
λ΄μ©
μλ κ°λ¨ν μ½λμ΄κΈ°λ νκ³ , μꡬμ¬νμ΄ λͺ
ννκΈ° λλ¬Έμ νΉλ³ν κ²μ μμ΄ λ°λ‘ κ²μ¦μ ν μ μμλλ° StringClass
νμ΅ ν
μ€νΈ νμΌμ κΈ°μ‘΄μ μ€μΌλ ν€ μ½λ νμμΌλ‘ μμ± λμ΄μλ λΆλΆμ΄ μμλ€. νμ§λ§, SetCollection
νμ΅ ν
μ€νΈ νμΌμ Scratchλ‘ λ€μ μμ± ν΄μΌνκΈ° λλ¬Έμ import
νλ λ΄μ©μ΄ μ΄λ κ² λ§μμλ μΆμλ€.
μ°Έκ³ μλ£
μμ
β μꡬμ¬ν 2
Fixture numbersμ
contains
λ©μλλ₯Ό νμ©ν΄ λ°μ΄ν° μ‘΄μ¬ μ¬λΆ κ²μ¦λ¨, λ°λ³΅ λλ μ½λλ₯Ό μ΅μ ν ν κ²
ννΈ ν€μλ
λ΄μ©
Parameterized Test
λ StringClass
νμ΅ ν
μ€νΈ λΉμ μ¬μ© ν΄λ΄€κΈ° λλ¬Έμ λ΄μ©μ μ΄λμ λ μκ³ μμλ€. μλλ― ν λλμ΄ μλ μλ€κ³ νμ ν μ μμκΈ° λλ¬Έμ ν΄λΉ μꡬμ¬νλ λ³ λ€λ₯Έ κ²μ μμ΄ μ§ν ν μ μμλ€.
μ°Έκ³ μλ£
μμ
β μꡬμ¬ν 3
Fixture numbersμ
contains
λ©μλλ₯Ό νμ©ν΄ λ°μ΄ν° μ 무 κ²μ¦ λ° μμΈ μΌμ΄μ€(μ‘΄μ¬ νμ§ μλ λ°μ΄ν° μΌ λ) κ²μ¦
ννΈ ν€μλ
Parameterized Testμ
@CsvSource
λ΄μ©
ν
μ€νΈ λ©μλμ Key, Valueλ‘ λ§€νλλ κ°μ λ°μ μ μμ΄ μ μ μΈ λ°μ΄ν°λ₯Ό κ²μ¦ ν λ νΈλ¦¬νλ€. κ·Έ μ€ μ²μ StringClass
νμ΅ ν
μ€νΈ λ μ¬μ© νμ λ delimiter
λ₯Ό λͺ°λμλ ν°λΌ μ¬μ©νμ§ μκ³ μΌνλ‘ κ΅¬λΆ νμλλ° μ½λ‘ μΌλ‘ κ΅¬λΆ ν μ μμ΄μ κ°λ
μ±μ΄ μ‘°κΈ λ λμμ§ κ² κ°λ€.
μ°Έκ³ μλ£
μμ
Last updated