我有兴趣看看我是否可以在包含30多个项目的Visual Studio解决方案中改进我们使用NUnit的方式.
首先,您是否会为解决方案中的每个组件进行一次测试组装,或者您是否会尝试保持测试组件的数量?我开始创建许多测试程序集,但我认为这在构建时间方面花费了我们很多.
其次,您使用什么策略来管理那些长期运行或需要特殊环境配置的测试?我想编写一个自动运行单元测试的MSBuild脚本,但它需要跳过花费太长时间或在构建机器上不能运行的测试.
回答你的第一个问题:
如果您想要的话,您可以使用类别将所有内容组织在一个程序集中.至于它是否会减少构建时间,我可能会猜测一下,我不认为它总体上是一个巨大的数字.
回答你的第二个:
您可以使用类别和[Explicit]
和[Ignore]
属性告诉NUnit的运行哪些测试,以及测试你必须告诉它之前,它会运行.您可能还想查看[Platform]
或其他一些属性,具体取决于您对"环境"的要求.
例如,您可以为所有长时间运行的测试添加一个Explicit标记.然后你必须明确地运行这些测试,NUnit不会自动运行它们.或者将所有这些测试添加到一个类别中,然后在运行NUnit时,告诉它显式不运行该类别.