我使用C#進行測試。測試包含幾個測試步驟。如果一個測試步驟失敗,整個測試應該中止。一個測試步驟可能看起來像這樣:返回調用函數
Variable1.Value = 1;
Variable1.write();
Variable1.read();
if (Variable1.Value != 1)
{
Console.WriteLine("Fail");
return; //this return aborts the test
}
//next test steps
我想一些命令轉移到自己的功能允許有效的測試用例編程。上面代碼的功能看起來像這樣。
private void verifyValue (TypeOfVariable Var, double Value)
{
Var.read();
if (Var.Value != Value)
{
Console.WriteLine("Fail");
return;
}
}
並且測試是這樣的
Variable1.Value = 1;
Variable1.write();
verifyValue(Variable1, 1);
//next test steps
我的問題是現在,認爲return
在功能verifyValue
隻影響verifyValue
但不調用函數(又名測試)。
有沒有可能中止調用函數?
是否有任何理由你沒有使用單元測試框架和'斷言'? –
您正試圖通過使用返回語句和函數完成來實現原子操作。我認爲這不是一個很好的方法。相反,您可以實現將所有語句作爲事務執行的類,並根據它們拋出的異常,可以中止或繼續操作。 – Slavo
除非你的例子非常糟糕,我同意@Slavo。這不是如何實現你想要實現的。在說,一個昂貴的,但可能的選擇是拋出一個例外。 –