重載將自動爲您完成此操作。作爲測試我在此測試方法來看到的輸出將是什麼:
[TestMethod]
public void Test()
{
Assert.AreEqual(true, false, "Failed on the following test case: AB");
}
以及錯誤消息輸出是:Assert.AreEqual failed. Expected:<True>. Actual:<False>. Failed on the following test case: AB
該消息參數已經被附加/組合以缺省消息。
對於你的情況,如果你只是想測試項的測試可能看起來像:
foreach (var testCase in testCases)
{
Assert.AreEqual(testCase.Value, myObj.myMethod(testCase.Key),
"Failed on the following test case: " + testCase.Key.ToString());
}
而且如果測試用例應該每個人都有自己的自定義消息,它會接着是有意義的移動自定義錯誤消息給testCase類。作爲創建每個對象的一部分可以接着指定這些三個屬性:
testCase.Value = true;
testCase.Key = "AB";
testCase.FailureMessage = "Failed on the following test case: AB";
這種類型的結構將允許具有要追加用於測試用例的每個實例指定消息。這樣做將使單元測試看起來像這樣:
foreach (var testCase in testCases)
{
Assert.AreEqual(testCase.Value, myObj.myMethod(testCase.Key),
testCase.FailureMessage));
}
,並在您的示例輸出顯示爲:Assert.AreEqual failed. Expected:<True>. Actual:<False>. Failed on the following test case: AB
廣東話您連接2個字符串? – Blachshma 2013-03-05 17:07:37
Assert.AreEqual失敗不是靜態的。我想使用框架中出現的任何內容。 – 2013-03-05 17:11:24