Neden Hamcrest-Eşleştirici ve assertThat kullanmalıyım (geleneksel) assertXXX yerine()-Yöntem | Netgez.com
SORU
9 Kasım 2009, PAZARTESİ


Neden Hamcrest-Eşleştirici ve assertThat kullanmalıyım (geleneksel) assertXXX yerine()-Yöntem

Bu örneklerde baktığımda sınıf JavaDoc İddia

assertThat("Help! Integers don't work", 0, is(1)); // fails:
// failure message:
// Help! Integers don't work
// expected: is <1> 
// got value: <0>
assertThat("Zero is one", 0, is(not(1))) // passes

Ben, diyelim ki, assertEquals( 0, 1 ) büyük bir avantaj görüyor.

Eğer yapıları daha karmaşık ama daha fazla avantaj görüyor musun? hoş belki iletiler için Okunabilirlik?

CEVAP
9 Kasım 2009, PAZARTESİ


Tam olarak niyetiniz eşleşen assertFoo bulunduğu, bu durumda büyük bir avantajı var. Bu gibi durumlarda davranır aynı neredeyse.

Ama biraz daha karmaşık kontroller için geldiğinde, o zaman avantajı daha görünür hale gelir:

assertTrue(foo.contains("someValue") && foo.contains("anotherValue"));

vs

assertThat(foo, hasItems("someValue", "anotherValue"));

Bir tartışmak onlardan daha kolay okumak için, ama bir kez onaylama işlemi başarısız, alacaksın iyi bir hata mesajı assertThat, ama sadece çok az miktarda bilgi assertTrue.

assertThat bu iddianın ne olduğunu ve var yerine ne söyleyecektir. assertTrue true beklediğiniz yere false var olduğunu söyleyecektir.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011
  • thetrollska

    thetrollska

    2 EKİM 2009