我正在嘗試在生產代碼中找到斷言的最佳做法,但我很驚訝我找到的信息很少。生產代碼中的NUnit斷言
首先是否可以在生產代碼中聲明斷言?
其次,我發現內置的Debug.Assert for .NET本質上會自動禁用生產代碼,並且實際上只能在開發環境中運行。這是真的嗎,NUnit是否也有內置的這個功能?
例如,如果我在生產代碼中具有以下內容,斷言將被忽略?
var sortedActuals = actuals.OrderByDescending(a =>
{
Assert.That(a.GLPeriodDateTime, Is.Not.Null, "GLPeriodDateTime was null when it should not be");
return a.GLPeriodDateTime.Value;
})
你試過了嗎?結果是什麼? – mason
我不會在生產代碼中使用NUnit聲明。如果你想檢查你可以提出自己的例外或使用代碼合同。在這種情況下,它看起來像'a'的類應該確保'GLPeriodDateTime'永遠不爲空。 – Lee