2010-08-22 61 views
1

我想知道是否有任何简单使用MSTests运行某种类型的测试的方式。我目前有一些单元和集成测试。一般来说,我只想运行单元测试。只使用MSTest运行所有测试的一部分

我知道你可以用一个类别标记每个测试方法,但从我所看到的,它似乎只有在你想创建不同的测试列表时才有用。这似乎没有那么有用,因为每次新的测试我都必须更新该列表。我已经尝试把集成测试放在一个项目中,单元测试放在另一个项目中,但是我只能看到3个选项用于运行测试:解决方案和上下文范围和受影响的测试,所以我想这不起作用很多。

你们是怎么做到的?

感谢

回答

4

对于任何运行VS2012的人来说,最初问这个问题两年半后,您可以点击Test-> Windows-> Test Explorer,然后点击搜索框左侧的小树/层次结构图标并对您的测试进行分组,并选择按“特征”进行分组 - 显然“特征”表示“测试分类”。然后,您可以右键单击分组来运行/调试您的测试。

或者如果您愿意,可以放到命令行并按类别运行测试,但我更愿意使用GUI测试运行器运行测试,以便不必下降到命令行,并且这样我就可以直接点击测试代码来测试相关的测试代码。这样做的说明如下:http://msdn.microsoft.com/en-us/library/dd286683.aspx

0

如果运行(“调试”)的整体测试项目,它将运行项目中的所有测试。如果您有严格的测试分区,这很有用。

否则,你必须使用测试列表(在测试菜单中),这似乎从来没有为我工作。他们似乎有时会自动覆盖。

+0

如果我使用NUnit而不是MSTest,是否更容易完成此任务? – 2010-08-23 21:19:56

+0

也许;我从来没有用过NUnit。我猜NUnit会提供更好的工具。 – 2010-08-24 15:24:53

0

在什么情况下你试图运行测试?在CI期间?在你的开发箱上建立之后?我个人认为使用这些类别是最好的选择。你不必创建一个列表。在测试列表编辑器中,您可以按类别排序。只需使用“UnitTest”类别(或其他)检查所有测试并选择运行即可。

此外,如果您将它们放在不同的项目中,则可以按项目分组并选择单元测试项目中的所有项目。

+0

这是行不通的。我有非常特定的GUI测试。这不像我可以一起运行单元测试和那些GUI测试。我需要运行单元测试或GUI测试。 – 2010-08-24 20:40:54

+0

现在我想到了,不应该同时运行2个GUI测试。我有MSTests并行运行的想法,所以也许我不应该为此使用MSTests。 – 2010-08-24 21:59:15

+0

无论哪种方式,如果你通过不应该是一个问题的类别隔离你的测试.... – devlife 2010-08-24 23:19:08

相关问题