1. 저는 다양한 부정을 쉽게 설명하고 기대하는 것과 주장이 실패할 경우 얻을 수 있는 것에 대한 설명을 자동으로 생성하는 새로운 주장(objectUnderTest,
is(not(someOtherObject))); assertThat(objectUnderTest, not(someOtherObject)); assertThat(objectUnderTest, not(equalTo(someOtherObject)));
mport static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*;
3. Asserts API가 제공하는 개체를 테스트하는 데 그다지 적합하지 않다는 것은 물론 CodeGo.net도 작성하기에는 그리 길지 않습니다.
assertFalse(foo.equals(bar));
이 인수를 사용하면 Yield 부분이 너무 안타깝기 때문에 나누어야 합니다.
String msg = "Expected <" + foo + "> to be unequal to <" + bar +">"; assertFalse(msg, foo.equals(bar));
4. 만약 AssertNotEqual이 실제로 JUnit을 배우기 어렵게 만드는 것 중 하나라면, 축소된 API를 추가할 때 이는 깔끔한 상황이라는 점을 명심하세요. 더 많은 공간에 대한 도움이 필요하지 않습니다. 내 생각에는 멀티플레이어 호출이 너무 적기 때문에 생략된 것일 수도 있지만, 심지어는assertFalse가 존재하지 않을 것으로 예상되므로 결국 긍정적인 내용을 추가하게 될 수도 있습니다. 어려운 문제이지만 심지어 우아한 해결 방법도 있습니다.
5. 매우 늦었지만 다음 형식이 '같지 않은' 대부분의 경우에 적합하다는 것을 알았습니다. ' 사례
static void assertTrue(java.lang.String message, boolean condition)
7. 그 이유는 AssertNotEquals() )가 완전한 기능을 갖춘 객체로 먼저 변환하지 않고 내장 명령이기 때문입니다. 자세한 예:
int status = doSomething() ; // expected to return 123 assertTrue("doSomething() returned unexpected status", status != 123 ) ;
대
.... assertThat(1, not(equalTo(Integer.valueOf(winningBidderId)))); ....
assertNotEqual(1, winningBidderId);