新來單元測試,我有點困惑什麼Assert.False(true)
與Assert.True(false)
會有什麼區別?Nunit Assertions - Assert.False(true)vs Assert.True(false)
有人可以解釋這些是如何不同?
新來單元測試,我有點困惑什麼Assert.False(true)
與Assert.True(false)
會有什麼區別?Nunit Assertions - Assert.False(true)vs Assert.True(false)
有人可以解釋這些是如何不同?
兩者都保證失敗。
Assert.False
如果參數計算結果爲false
,則true
不會。
Assert.True
如果參數計算結果爲true
,則false
不通過。
區別是什麼條件使他們通過,但是當你的代碼傳遞一個常量時;它只是意味着保證失敗。它們也具有不同的語義含義(出於顯而易見的原因)。
Assert.True(false)
和Assert.False(true)
都會導致測試失敗。他們都可以被讀爲「確保這個值是真實的,如果它沒有失敗。」和「確保這個值是錯誤的,如果它沒有失敗。」分別。因此,無論您的斷言中的條件/價值是什麼,它都必須評估相應的值,否則測試將失敗。