編輯:我是NUnit的超級新手。每個數據庫行NUnit測試?
我不知道這是否可行,但我會繼續解釋我正在嘗試做什麼。
我想創建一個測試夾具,用來自數據庫的5種不同類型的輸入來運行測試。
TestFixture
Test using input1
Test using input2
Test using input3
Test using input4
Test using input5
這樣一來,我可以從NUnit的GUI到底哪個輸入引起的故障看,但我不知道如何做到這一點。目前,我有一些設置是這樣的:
[TestFixture]
public class Tester{
[Test]
public void RunTest(){
var inputs = db.inputs.where(a=>a.id < 6).ToList();
bool testSuccess=true;
foreach(var input in inputs){
bool success = RunTheTest(input);
if(success==false){
testSuccess=false;
}
}
//Tell NUnit that the entire test failed because one input failed
}
}
在這種情況下,NUnit的,我看到:
Tester
RunTest
而且即使runTest方法嘗試5倍不同的投入,我只知道,如果有一個或更多輸入失敗,但我不知道哪個輸入失敗。基本上我問的是,如果可以根據我想要從數據庫中獲取的任何內容來動態創建在NUnit GUI中顯示的測試。
每個斷言都會顯示爲GUI中的子測試? – sooprise 2011-06-02 21:36:39
我認爲RunTest是一項測試,RunTheTest只是一個輔助方法。所以測試中的第一個斷言將會使整個測試失敗。在單元測試中,您不應該將多個測試作爲一個運行。 – softveda 2011-06-02 21:40:22
第一個失敗的Assert將導致測試結束 – Pedro 2011-06-02 21:40:38