你能在VS2008的单个测试项目中对单元测试进行分组吗?

时间:2009-03-06 08:59:22

标签: .net visual-studio-2008 unit-testing

您可以在VS2008中的单个测试项目中对单元测试进行分组吗?

例如 - test1和test2属于A组。 Test4和test5属于B组。

除非我明确选择它们,否则我不希望B组中的测试运行。 这是因为并非所有测试都应包含在自动测试中。

编辑:
重述第二部分。
我可以使用测试列表编辑器创建组。是否可以只选择其中一个或两个组进行自动测试?

E.g。我希望A组每晚运行自动化测试,B组运行手动测试。

3 个答案:

答案 0 :(得分:3)

在测试视图窗口中有一个'Group By'组合框。您可以对类名,命名空间,描述等进行分组测试。

因此,通过将其与测试方法中可用的某些属性(例如Category)结合使用,您可以在运行测试时更具选择性。

编辑:这只是手动运行测试时的解决方案。也许类似的解决方案可以使用自动测试,您可以选择仅运行某个类别或某个命名空间的测试。

答案 1 :(得分:2)

查看测试列表编辑器(在Test | Windows下)。这将显示解决方案中的所有测试。在左侧,您可以创建组的TreeView,并且可以将每个测试拖动到一个组中。使用每个TreeView节点上的复选框,您可以轻松切换要运行或调试的(一组(多个))测试。

这是你在找什么?

此信息似乎存储在vsmdi元数据文件中,因此应该保留。但是,我不确定这是否(以及如何)与自动测试相关联。对我来说,它看起来像一个VS GUI功能,用于手动分组和运行测试。

编辑:对于自动化测试,我会尝试将测试代码分开用于不同的“场合”(例如,在编写代码时总是要运行的快速单元测试,可能需要一些时间的性能测试,集成测试即使您使用相同的单元测试框架来物理地实现所有这些测试,也可以在语义上将多个层等转换为不同的测试项目。然后,您应该能够在正确的时间选择正确的测试组(签入,每日构建,需要时进行手动测试)。

答案 2 :(得分:-1)

Visual Studio单元测试背后的概念强烈建议为每个目标程序集使用单个测试项目。当然,可以为所有单元测试使用单个测试项目,但您必须手动编写它们。单元测试向导不那么灵活。

NUnit更灵活。您存储单元测试的程序集没有限制。您可以对所有单元测试使用单个程序集,甚至可以将它存储在与要测试的目标类相同的类中。