π Chapter 21: ν μ€νΈ κ°λ μ±
- ν μ€νΈλ νμλ₯Ό λͺ ννκ² ννν΄μΌ νλ€.
- μ½λ κ°λ μ±μ΄ μ€μν κ²κ³Ό κ°μ μ΄μ λ‘ ν μ€νΈ κ°λ μ±λ μ€μνλ€.
- ν μ€νΈ μ½λλ μ ν μ½λμμ νλ μΌμ΄ 무μμΈμ§ λ°λμ κΈ°μ ν΄μΌ νλ€. μ΄κ²μ ν μ€νΈ μ½λκ° μμλλ κ²°κ³Όμ μμ λ‘ μ¬μ©νλ κ°μ κ΄ν΄μλ ꡬ체μ μ΄μ§λ§ ν΄λΉ μ½λκ° λμνλ λ°©μμ κ΄ν΄μλ μΆμμ μΈ κ²½ν₯μ΄ μκΈ° λλ¬Έμ΄λ€.
- μ°λ¦¬λ ν μ€νΈ μ½λκ° μ μΈμ μΌλ‘ κΈ°μ ν κ²μ²λΌ μ½νκΈΈ λ°λλ€.
π ν μ€νΈ μ΄λ¦μ κΈ°λ₯μ κΈ°μ νλ€β
- λμ κ°μ²΄μμ μ 곡νλ κΈ°λ₯ μΈ‘λ©΄μμ ν μ€νΈ μ΄λ¦μ μ§μ΄μΌ νλ€.
- Listλ νλͺ©μ΄ μΆκ°λ μμλλ‘ νλͺ©μ 보κ΄
- Listλ λμΌν νλͺ©μ λν΄ μ¬λ¬ κ°μ μ°Έμ‘°λ₯Ό 보κ΄ν μ μλ€.
- Listλ λ³΄κ΄ μ€μ΄μ§ μμ νλͺ©μ μ κ±°ν λ μμΈλ₯Ό λμ§λ€.
public class ListTests {
@Test public void holdsItemsInTheOrderTheyWereAdded() { ... }
@Test public void canHoldMultipleReferencesToTheSameItem() { ... }
@Test public void throwsAnExceptionWhenRemovingAnItemItDoesntHold() { ... }
}
- μ€νμΌ μΈ‘λ©΄μμ ν μ€νΈ μ΄λ¦μ μμνλ κ²°κ³Όμ κ°μ²΄μ νλ, μλ리μ€μ λκΈ°μ κ΄ν΄ 무μΈκ°λ₯Ό λ§ν΄μ€μΌ νλ€.
π μ κ· ν μ€νΈ ꡬ쑰β
- ν μ€νΈλ₯Ό νμ€ ννλ‘ μμ±νλ©΄ μ΄ν΄νκΈ° μ½κ³ μμ κ²°κ³Όλ₯Ό λ¨μ μ λΉ λ₯΄κΈ° νμ ν μ μκ³ ν μ€νΈκ° ν μ€νΈ μ€μΈ μ½λμ μ΄λ»κ² μ°κ²°λλμ§ κ°λ ν μ μλ€.
- κ°μ₯ 곡ν΅μ μΈ ν μ€νΈ ννλ λ€μκ³Ό κ°λ€.
- μ€λΉ(setup): λμ μ½λκ° μ€νλ νκ²½μ ν΄λΉνλ ν μ€νΈμ μ½ν μ€νΈλ₯Ό λ§λ ¨νλ€.
- μ€ν(execute): λμ μ½λλ₯Ό νΈμΆν΄ ν μ€νΈλ νμλ₯Ό μ΄λ°νλ€.
- κ²μ¦(Verify): ν΄λΉ νμμμ μμν μ μλ κ°μμ μΈ ν¨κ³Όλ₯Ό κ²μ¬νλ€.
- μ 리(Teardown): λ€λ₯Έ ν μ€νΈμ μμμ μ ν μλ μλ μμ‘΄ μνλ₯Ό μ 리νλ€.