2016-01-17 31 views
0

考慮下面的代碼:如何停止多次列出相同測試的NUnit TestCaseSource?

private static object[] testStrings = 
    { 
     new object[] { "string1" }, 
     new object[] { "string2" }, 
     new object[] { "string3" }, 
     new object[] { "string4" } 
    }; 

    [Test, TestCaseSource("testStrings")] 
    public void CanParseString(string stringToTest) 
    { 
     //... 
    } 

然後,這結束了大量污染的試驗結果如下面的圖片英寸現在想象一下,有幾十個測試,每個測試都有幾組測試數據。

enter image description here

是否有被強制運行NUnit的/ Visual Studio中,只顯示剛剛測試的一種方式,而不是測試數據的每個單獨傳遞給所述測試?

或者也許我已經把TestCaseSource設置爲錯了,在這種情況下,我會很高興知道我出錯的地方。

+7

這些_is_中的每一個都是不同的測試,每個測試都有不同的輸入。他們都可以獨立失敗,所以正確顯示爲單獨的測試運行。 – adrianbanks

+0

好點,我想我沒有真正想到列表作爲* runs *列表。我只是把它想成單元測試的列表。 – user9993

回答

2

我不認爲你可以,而@adrianbanks暗示你的評論你可能不應該。

從NUnit的文檔上Parameterized tests

多組參數引起創建多個測試

因爲TestCaseSource參數(實際上TestCase)暴露多個測試,以測試運行,你不能讓Visual Studio來重組這些作爲一個單獨的測試。