誰能告訴我什麼是.NET中的NUnit以及如何使用它?我聽說使用這些工具改進了應用程序的設計。這是真的嗎?我在哪裏可以獲得有關此主題的絕對初學者教程?NUnit測試 - 如何在您的應用程序中使用
回答
NUnit是一個單元測試框架 - 而不是直接在應用程序中使用它,它允許您編寫單獨的測試套件來測試框架的組件。
單元測試是一種測試方法,您可以測試應用程序中的小型單元,而不是像整體測試那樣。
這有助於改進應用程序設計的原因是它鼓勵您以小單位編寫應用程序,每個應用程序都與其他應用程序分離,因此可以進行測試。這強化了「分離關注」的概念;確保每種類型只負責一項任務。另外,很多人使用「單元測試優先」philosphy來開發開發,因此您在編寫實際代碼之前編寫測試代碼。這裏的想法是以下序列:
- 寫你的測試。這是一個失敗的 (紅色)測試,因爲沒有代碼到 測試。
- 編寫代碼,使測試 有效(綠色)。
- 現在你有一個測試,以驗證您的 代碼,你可以輕鬆地重新寫入和 改善你的代碼,具有高度信心 ,你是不是 打破它。 (重構)
您將這裏的人指的這個紅 - 綠 - 重構方法
有大量的信息,對如何處理網絡上的單元測試。只是古爾「單元測試C#」。
但是,看看NUnit's site(因爲某些原因我寫這篇文章)的文檔,並查看與單元測試相關的其他SO帖子。
此外,here是一個相當廣泛的代碼項目文章,雖然我還沒有深入研究,所以我不知道它是否有什麼好處。
也許其他具有良好引用的人可以將它們添加爲本文的評論。
NUnit是進行unit testing的框架。
如果你不熟悉單元測試,"Test Infected"可能是一個很好的介紹給你。這是關於jUnit(Java)而不是NUnit,但我認爲這對你來說應該不是太大問題。
有很多關於單元測試的書籍 - Roy Osherove的"The art of unit testing"非常值得推薦。
你在問什麼是unit testing。按照Layman的說法,不是通過運行測試應用程序,而是編寫以小塊測試應用程序的代碼。測試的一個例子是這樣的:
[Test]
public void Get_All_People_Returns_Correct_Number_Of_People()
{
// setup
database.Add(new Person());
database.Add(new Person());
database.Add(new Person());
// test
Assert.That(database.GetAllPeople().Count(), Is.EqualTo(3));
}
你一定要了解更多關於在一般的單元測試,separation of concerns,以及良好的應用設計,你開始使用NUnit的之前。當您的應用程序設計在不會相互干擾的小型可測試模塊中時,單元測試才真正有效。
- 1. 在ASP.NET MVC應用程序中調用nunit測試用例
- 2. 部署使用NUnit進行單元測試的應用程序
- 3. 學習使用單元測試和Nunit應用程序
- 4. 在C#控制檯中運行NUnit測試應用程序
- 5. 如何用Nunit測試Nhibernate?
- 6. 如何使用F#中的NUnit單元測試測試代碼
- 7. 如何使用NUnit單元測試調度程序
- 8. 使用NUnit在不同應用程序域中運行單元測試
- 9. 使用NUnit在Silverlight 4應用程序中測試WCF RIA服務
- 10. 如何爲您的Java應用程序設置「測試模式」?
- 11. 如何讓您的iOS應用程序測試QA
- 12. 我可以使用Xamarin.Android單元測試應用程序中的新NUnit API嗎?
- 13. 如何使用ReSharper創建NUnit測試?
- 14. 如何使用NUnit測試合同?
- 15. 如何使用nUnit單元測試JavaScript?
- 16. 您可以使用JMeter測試Siebel應用程序嗎?
- 17. 如何在單元測試應用程序中使用Microsoft.VisualStudio.TestPlatform.TestExecutor?
- 18. 如何在Java Web應用程序中使用DataSource測試DAO?
- 19. 針對Asp.Net Web應用程序的NUnit測試
- 20. 使用nunit測試事件
- 21. 使用NUnit測試構造
- 22. 使用nUnit測試死鎖
- 23. 如何測試Vista的應用程序
- 24. 在NUnit測試
- 25. 如何您的應用程序在Bing「應用程序」列表
- 26. 如何防止測試用例中的「過度測試」? (C#/ nUnit)
- 27. 應用程序測試應該在應用程序包中
- 28. 什麼是您的「通用」Web應用程序測試計劃?
- 29. NUnit測試應用程序,而不是環境或數據庫