我对是否可以改善在包含30多个项目的Visual Studio解决方案中使用NUnit的方式感兴趣。
首先,解决方案中的每个程序集都有一个测试程序集,还是要减少测试程序集的数量?我开始创建许多测试程序集,但是我认为这在构建时间上花费了我们很多。
其次,您使用什么策略来管理那些长期运行或需要特殊环境配置的测试?我想编写一个MSBuild脚本来自动化我们的单元测试的运行,但是它需要跳过那些会花费太长时间或无法在构建机器上运行的测试。
最佳答案
要回答您的第一个问题:
如果要这样做,可以使用categories将所有内容组织在一个程序集中。至于是否会减少构建时间,我可能会猜测一下,尽管如此,我认为总体上来说并不会很大。
回答您的第二个问题:
您可以使用categories以及 [Explicit]
和 [Ignore]
属性来告诉NUnit运行哪些测试,以及必须告诉它运行哪些测试。您可能还需要查看[Platform]
或其他一些属性,具体取决于您对“环境”的要求。
例如,您可以在所有长时间运行的测试中添加一个Explicit标签。然后,您将必须明确地运行这些测试,NUnit不会自动运行它们。或将所有这些测试添加到类别中,然后在运行NUnit时,告诉它明确不运行该类别。
关于unit-testing - 您如何在大型项目中构建NUnit测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/173616/