我有一個數據源,如-4,-3,-3,-2,-1,0,1,2,2,3,4,我有一個函數和這個函數可以捕獲重複的數字,例如在這個數據源中我們有-3,2個重複。重複的數字在程序結束時報告。 我找不到好例子(我花了3個小時)。 如何使用NUnit實現單元測試,可以測試相同的情況,並告訴我結果,如果你有一些例子,它對我非常有用(真的很感激)。用數據源NUnit數據驅動的單元測試
2
A
回答
4
您可以使用TestCase
屬性來獲取您所描述的簡單數據。
[Test]
[TestCase(new[] { -4, -3, -3, -2, -1, 0, 1, 2, 2, 3, 4 }, new []{-3,2})]
public void YourTest(int[] given, int[] expected)
{ ... }
注:ReSharper的(至少我的版本的話)不接受多個測試案例像這樣的,所以我不得不確認多個測試用例與NUnit的GUI。
1
在這種情況下,我會推薦TestCaseSource。一些測試可能會使數據在TestCase屬性內難以閱讀。
1
首先要做的事 - 獲得工作測試。事情是這樣的:
[Test]
public void DetectsMinusThreeAndTwo()
{
RepeatingDigitsDetector target = new RepeatingDigitsDetector();
int[] source = new int[] { -4, -3, -3, -2, -1, 0, 1, 2, 2, 3, 4 };
int[] expected = new int[] { -3, -2 };
int[] actual = target.GetRepeats(source);
Assert.AreEqual(expected.Length, actual.Length, "checking lengths");
for (int i = 0; i < expected.Length; i++)
{
Assert.AreEqual(expected[i], actual[i], "checking element {0}", i);
}
}
之後,你就可以開始添加在像TestCase
或TestCaseSource
屬性的好東西。但是,如果您嘗試執行TDD(因爲tdd標記暗示),則需要從a測試開始。
+0
謝謝@Edmund,我想我們有像Excel,Access等外部數據源,例如MSTest –
相關問題
- 1. Monodevelope Nunit項目數據驅動測試
- 2. 數據驅動的單元測試
- 3. 數據驅動的單元測試
- 4. 測試數據源像NUnit的
- 5. 定製用於數據驅動測試的NUnit GUI
- 6. 使用NUnit進行數據驅動測試
- 7. IEnumerable <T>作爲數據驅動測試的數據源
- 8. 使用MSTest進行數據驅動的單元測試
- 9. 用於數據驅動單元測試的嵌套XML
- 10. 單元測試數據庫驅動的.NET應用程序
- 11. 數據驅動測試
- 12. 使用Ruby的測試進行數據驅動測試:: Selenium的單元
- 13. 生成數據驅動的單元測試中的Java
- 14. 數據驅動的單元測試網址&
- 15. 數據驅動的單元測試 - CSV編碼問題?
- 16. 數據驅動的單元測試問題
- 17. 如何使用CSV數據源控制數據驅動的單元測試中的列的類型?
- 18. 單元測試 - 數據驅動的邊界大小寫測試與對象?
- 19. 單元測試 - 數據庫數據
- 20. 的NUnit:單元測試,在存儲測試數據文件的建議
- 21. 在Excel中使用數據源相對路徑時出錯數據驅動單元測試
- 22. 單元測試數據庫
- 23. 「單元」測試數據庫
- 24. 單元測試數據?
- 25. 單元測試數據庫
- 26. 數據驅動的數據庫Web應用測試
- 27. 使用數據驅動的測試處理大型數據集
- 28. XML數據驅動的硒測試
- 29. Spock中的數據驅動測試
- 30. 驗證數據驅動的測試
+1我認爲測試是可選的,如果你有標記的TestCase – Gishu
感謝方法,就可以顯示數組的第一個索引任何重複at.for例如-3 - > 1,2 - > 7 –
@ user1824702:這個問題的範圍是什麼? –