首頁  >  文章  >  Java  >  為什麼不提供JUnit的方法assertNotEquals?

為什麼不提供JUnit的方法assertNotEquals?

黄舟
黄舟原創
2016-12-29 09:14:011627瀏覽

1. 我建議的新assertThat()樣式assertions,它可以很容易地描述各種否定,並自動產生你所expect的的描述,如果assertions失敗,你得到了什麼:assertThat(objectUnderTest,

is(not(someOtherObject)));
assertThat(objectUnderTest, not(someOtherObject));
assertThat(objectUnderTest, not(equalTo(someOtherObject)));

所有這三個選項是等價的,選擇一個你認為最可讀。 assertNotEquals: 

3. 我不知道assertions的API是不太適合做測試的對像是指它提供了和當然CodeGo.net,這是不是太長寫:

mport static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;

隨著yield的這種說法部分是如此不幸應分別:

assertFalse(foo.equals(bar));

那是當然的,使其更好地推出自己assertNotEqual。確實是一個,使JUnit的少一點可以學習的。原因可能是因為有太multiplayer少,呼籲然而,我一個當即便assertFalse不存在,因此,我有可能最終被加了積極的expect,因為它不是一個困難的之一,儘管我承認,有解決方法,甚至是優雅的。 ,而不是assertFalse如在測試報告中會顯示一個diff的assertions失敗。指令,而無需先將它們轉換為完全成熟的物件:詳細的例子:

String msg = "Expected <" + foo + "> to be unequal to <" + bar +">";
assertFalse(msg, foo.equals(bar));

static void assertTrue(java.lang.String message, boolean condition)

8. 模API的一致性,為什麼是JUnit沒有提供assertNotEquals()就是為什麼JUnit的永遠喜歡它的原因assertStringMatchesTheRegex(regex, str)與assertStringDoesntMatchTheRegex(regex, str)assertStringBeginsWith(prefix, str)與assertStringDoesntBeginWith(prefix, str)即有沒有結束提供了一個具體的供種東西,你可能想在你的說法的邏輯! 更好的測試原語像equalTo(...),is(...),not(...),regex(...)並讓這些作品一起,而不是更多的可讀性和理智。

 以上就是為什麼不提供JUnit的方法assertNotEquals? 的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn