사용자 도구

사이트 도구


java:junit:hamcrest

문서의 이전 판입니다!


hamcrest

hasProperty

  • hasProperty : CoreMatchers가 아니 Matchers에 있다.
  • 객체의 전체를 비교하지 않고 일부 필드의 값만 비교하고자 할 때 사용한다. 특히, 컬렉션과 연동해서 사용할 때 좋다.
  • 단일 객체 비교
    User user = new User("이하늬", 20, "몰라"); // name, age, description
    assertThat(user, Matchers.<User>hasProperty("name", is("이하늬")));
     
    user = new User(null, 20, "몰라"); // name, age, description
    assertThat(user, Matchers.<User>hasProperty("name", nullValue()));
  • hasProperty, the Hidden Gem of Hamcrest
    assertThat("Expected images", (Iterable<Object>) hotel.getImages()
                , containsInAnyOrder(hasProperty("filename", is("radisson1.jpg"))
                , hasProperty("filename", is("radisson2.jpg"))));
  • On the subtle uses of Hamcrest tests
    // hamcrest의 generic 관련 문제 피해가기
    List stakeholders  = stakeholderManager.findByName("Health"); // 원래는 List<Stakeholder> 타입이지만 hamcrest 비교시 문제가 발행해서 List로 변경.
    assertThat((List<Object>) stakeholders, hasItem(hasProperty("name",is("Health Associates"))));
java/junit/hamcrest.1326730619.txt.gz · 마지막으로 수정됨: 2012/01/17 01:16 저자 kwon37xi