2012-05-31 30 views
2

我在一個測試中聲明,我想測試發送的消息數是> = 1nUnit中的assert.GreaterOrEqual和Assert.IsTrue是否有區別?

我有兩種等效的方式來做到這一點。

 1: Assert.IsTrue(messagesSent >= 1); 
     2: Assert.GreaterOrEqual(messagesSent,1); 

第一種和第二種斷言方式是否有區別?我想知道nUnit內或輸出錯誤或性能的東西..或唯一的原因是可讀性?

如果沒有區別,爲什麼第二個被創建?

注意:同樣適用於類似的斷言一樣大,少,LessOrEqual ...

注意:我會大概是因爲我想,如果它已經創建有一個使用第二個很好的理由,但想知道爲什麼。

+1

第二種形式應該產生一個更有用的信息,有些人可能會說,更好地顯示了測試的意圖。 – 2012-05-31 16:59:21

+0

所以唯一的原因似乎是可讀性和輸出消息.... –

回答

3

對於故障,輸出不同。對於IsTrue來說,這個信息就像「預期的真實但是錯誤的」。對於GreaterOrEqual,該消息將類似於「期望1或更高,但是-15」。 GreaterOrEqual提供了更多信息,您將看到實際值,這在調試失敗時更加有用。

相關問題