我正在寻找最简单的方法来分类我的测试,这样我就可以分别运行它们。
我的组织如下所示
这是因为我们的测试还没有发展到完全自动化。我们的大多数单元测试都是完全自动化的,而集成和系统测试则不是。然而,所有的测试对于开发人员机器上的调用仍然是有用的。
为了简单起见,如果我们只需要提交具有不同属性的不同类型的测试,[IntegrationTest]或[TestCategory("Integration")],那么我们的构建服务器就只能运行我们想要的测试。
我知道nUnit有测试类别,但是我们的团队喜欢MsTest + IDE集成上的Microsoft。
你的团队是如何解决这个问题的?
是否有提供此功能的扩展?
这会被构建到.Net 4.0中吗?
谢谢
发布于 2009-10-17 19:38:13
您看过测试列表特性吗?单击Test -> Windows -> Test List Editor以打开用于管理测试列表的UI。右键单击List of Tests并选择New Test List,为其命名并保存。之后,将测试拖到新组中,创建一个可以一起运行的All Tests子集。
另一个选项是使用Test View工具窗口的筛选功能来选择具有类似特征的测试。它将匹配部分,因此您可以切换到Test Name并输入类似于"Asp“的内容来匹配包含该字符串的所有测试,然后通过对所有筛选的项进行选择来一起运行结果。缺点是您可能需要重命名您的测试。
按照相同的思路,并且更接近您的想法,您可以在Test View窗口中右键单击tests,选择Properties并填充Description属性,或者按照您的建议使用Description属性装饰测试。之后,您可以使用前面的方法来筛选测试(这一次是在Description上过滤),尽管这不是字段的预期用途,但它可以达到您想要的结果。
发布于 2009-10-14 21:16:01
这些基本上是不同类型的测试,因此应该放在不同的项目中。
有很多很好的理由让集成测试和单元测试分离,在这种情况下也会有所帮助。
每个接受测试的类库都应该有一个(或多个)关联的单元测试projects.
您可以有不同的解决方案文件,其中包括一些,但排除其他测试项目取决于您希望运行的测试套件的类型。
请注意,此策略将适用于MSTest --您将来可能决定使用的任何其他测试框架--我认为这是一个额外的好处。
发布于 2010-02-04 19:06:18
是的,在TestCategory 4.0 Beta 2中有一个.NET属性(在RTM中不排除它,因为Beta 2是功能完全的.NET)
http://msdn.microsoft.com/en-us/library/ms182489%28VS.100%29.aspx
https://stackoverflow.com/questions/1568950
复制相似问题