이제 저는 Kent Beck의 "Test Driven Development"를 읽었으며 "개인 정보"장의 이해에 문제가 있습니다. JUnit 4를 사용하고 있으며 장의 코드가 있습니다.도서 코드가 작동해야합니까?
클래스 우리가 테스트됩니다
public class Dollar {
private int amount;
Dollar(int amount) {
this.amount = amount;
}
public Dollar times(int multiplier) {
return new Dollar(amount * multiplier);
}
public boolean equals(Dollar d) {
return amount == d.amount;
}
}
(전체 책에서 복사) 시험 :
public void testMultiplication() {
Dollar five= new Dollar(5);
assertEquals(new Dollar(10), five.times(2));
assertEquals(new Dollar(15), five.times(3));
}
내가이 테스트가 작동한다는 것을 이해하는 장을 읽기. 그러나 times
메서드는 항상 새 객체를 반환하므로 assertEquals
은 항상 실패하므로 작동하지 않습니다.
내 질문은 :이 테스트가 작동합니까? 아니면 그냥 다른 프로그래밍 언어로 번역하는 예제로 제공됩니까?
이러한 종류의 실수는 정확하게 ['@ Override'] (https://docs.oracle.com/javase/8/docs/api/java/lang/Override.html) 주석이 작성된 이유입니다. – Bohemian