我使用Visual Studio 2008和我想能够分裂我的单元测试分为两组:如何分割单元测试成组
- 快速测试
- 更长的测试(即与互动数据库)
我只能看到一个选项来运行全部或一个,也可以运行单元测试类中的所有测试。
当我想运行一个快速测试时,有什么办法可以将它们分开或指定要运行哪些测试?
感谢
我使用Visual Studio 2008和我想能够分裂我的单元测试分为两组:如何分割单元测试成组
我只能看到一个选项来运行全部或一个,也可以运行单元测试类中的所有测试。
当我想运行一个快速测试时,有什么办法可以将它们分开或指定要运行哪些测试?
感谢
我会区分你的单元测试分组如下:
我会创建单独的测试库,即MyProj.UniTests.dll和MyProj.IntegrationTests.dll。这样,您的单元测试库将比您的集成测试具有更少的依赖关系。然后指定想要运行的测试组将很容易。
如果您正在使用类似的东西,在不同时间运行测试,您可以设置持续集成服务器,因为知道组1比第二组快。例如,单元测试可以在将代码签入到存储库后立即运行,并且集成测试可以在一夜之间运行。很容易设置这样的使用Team City
如果你使用NUnit,你可以使用CategoryAttribute。
MSTest中的等价物是TestCategory属性 - 有关如何使用它的说明,请参阅here。
如果您碰巧使用JetBrains中的R#,您会得到这个很酷的“单元测试会话”窗口,您可以在其中按类别对测试进行分组和运行。 http://www.jetbrains.com/resharper/webhelp/Reference__Windows__Unit_Test_Sessions.html或在Visual Studio中使用内建的“文本资源管理器”窗口时检查此项:http://blogs.msdn.com/b/visualstudioalm/archive/ 2012/11/09/how-to-manage-unit-tests-in-visual-studio-2012-update-1-part-1-using-traits-in-the-unit-test-explorer.aspx –
我们使用MyProj.Tests.Unit和MyProj.Tests.Integration,这样当我们部署时,我们可以忽略* .Tests。*。 –