0
我正在嘗試編寫一個pex測試,並且我注意到它始終在提供一個虛假值作爲我想要的參數之一。我的測試看起來像這樣(簡化:有/更PARAMS,但在其他方面沒有什麼不同):Pex不能滿足代碼合同
[PexMethod]
public void TestCtor(bool value)
{
ArbitraryType myType = new ArbitraryType(value);
}
我想測試一個場景,我會PEX做勘探,確保value
將是真實的。我做了另外一個試驗是這樣的:
[PexMethod]
public void TestCtor(bool value)
{
Contract.Requires(value == true);
ArbitraryType myType = new ArbitraryType(value);
}
但是,當我有Pex的探索,它仍然在假吐出來value
和測試生成「通行證」。如果我在要求說Contract.Assert(!value);
之後放了一條線,它會創建另一個測試並通過value
來判斷失敗。
問題是,Pex爲什麼不滿足代碼合同?
我假設您已經在運行系統的工具 - >選項 - >代碼合同下啓用了合同檢查? –
@Ryan Gross:是的。 –