【问题标题】:what is the best location for me to put nunit tests for a library which must be used from both ASP.Net and WinForms什么是我为必须从 ASP.Net 和 WinForms 使用的库进行 nunit 测试的最佳位置
【发布时间】:2009-03-12 19:52:29
【问题描述】:
我有一个必须在 WinForms 和 ASP.Net 中使用的基础架构库。
我想在一些单元测试中总结一下。
我将这些放在哪个项目中?
我是否在我的库项目中使用另一个文件夹?
仅包含我的基础架构项目和单独的单元测试项目的不同解决方案?
顺便说一句,我将使用 ReSharper 测试运行器,如果这有什么不同的话。
此外,这个库位于 NHibernate 之上,如果这也有什么不同的话。
【问题讨论】:
标签:
unit-testing
nhibernate
nunit
resharper
【解决方案1】:
我将创建一个仅包含您的测试的单独项目。从测试项目中引用您的基础设施项目。
将生产代码与单元测试一起发布没有多大意义,即使它们不是通过 winform 或 Web 界面访问的。
此外,考虑使用 MVP 架构模式和依赖注入来组织您的类,并使您的演示者和其他组件对测试更加友好。
【解决方案2】:
将您的测试完全放在一个单独的项目中,您可以将该项目包含在您的 WinForms 解决方案和 ASP.NET 解决方案中。
【解决方案3】:
我不仅为我的测试创建一个单独的项目,我还将它们进一步划分为单独的项目,用于单元测试和集成测试。
通过这种方式,您可以将持续集成服务器配置为仅在签入时运行单元测试,然后为每晚构建运行两组测试。