我刚刚开始我的第一个MVC3应用程序,我不确定如何对其进行单元测试。我打算将辅助类(通常是静态帮助程序)分解为一个单独的程序集,以及模型类,以便我可以使用NUnit对它们进行测试。
所以我对助手课很好;但是我如何测试模型类(考虑到它们是为NHibernate注释并与数据库绑定),以及如何测试我的视图和控制器?
测试NHibernate绑定模型以及ASP.NET视图和控制器需要哪些具体工具和技术?我不确定。 NUnit只解决了一些问题。
编辑:以下是一些代码示例 - 我现在不在我的开发机器上,因此我没有显示案例的实际代码。
具体问题:
答案 0 :(得分:1)
你可以通过各种测试来实现,但你需要明智地应用它们,具体取决于你要测试的内容:
使用单元测试来测试您的控制器或您的业务逻辑,而无需访问数据库。
通过在内存数据库(NHibernate支持且易于设置)上运行来使用集成测试。您可以确保方案确实有效,例如使用有效的方案,所有业务逻辑都在工作,您的控制器将数据传递给持久性机制,并且它正确地进入数据库。
您可以使用Selenium之类的框架来进行UI测试,但只能在真正需要的地方使用它,因为它不像以前的两种类型的测试那样容易,并且会变得难以维护和脆弱。
最佳做法是保持您的视图(UI)精简,并测试UI后面的其他图层,因为测试UI可能不值得所有麻烦。