运行 基于名称空间的测试使用 vstest.console 使用
Running tests based on a namespace using vstest.console using
我一直在使用 MsTest.exe 到 运行 测试,使用这样的命名空间:
mstest.exe /testcontainer:"MyDllFile.dll" /test:"NameSpace.Folder.Folder1.*"
这很有效,但我需要能够在 运行 时将参数传递给我的测试,所以我找到了 *.运行 设置文件及其将参数传递给使用 RunTestParameters 并从 TestContext 中的属性获取它们的测试,但缺点是我必须非常具体地说明我想要 运行 的测试,并且必须给它一个特定的方法名称或用逗号分隔的名称执行测试,如下所示:
vstest.console.exe "MyDllFile.dll" /设置:"my.runsettings" /测试:"TestMethod1,TestMethod2"
我也试过 TestCaseFilter 也没有成功:
vstest.console.exe "vstest.console.exe "MyDllFile.dll" /设置:"my.runsettings" /TestCaseFilter:"TestCategory=MyTestCategory"
有没有人对我怎样才能用 mstest.exe 和 vstest.console.exe 完成我能做的事情有什么建议?
谢谢!!
vstest.console.exe 的文档特别差。这是可能的,但命令行帮助和 MSDN 文档均未说明如何操作。
可用于 TestCaseFilter 设置的选项似乎是特定于适配器的,但对于默认的 MsTest 适配器,以下属性可用于过滤。
Name=<TestMethodDisplayNameName>
FullyQualifiedName=<FullyQualifiedTestMethodName>
Priority=<PriorityAttributeValue>
TestCategory=<TestCategoryAttributeValue>
ClassName=<ClassName> (Valid only for unit tests for Windows store apps, currently not available for classic MSTest)
..使用以下运算符。
= (equals)
!= (not equals)
~ (contains or substring only for string values)
& (and)
| (or)
( ) (paranthesis for grouping)
因此,对于您的目的,以下形式的 TestCaseFilter 应该足够了。
/TestCaseFilter:"FullyQualifiedName~ProjectNamespace.Subnamespace.TestClass"
我一直在使用 MsTest.exe 到 运行 测试,使用这样的命名空间:
mstest.exe /testcontainer:"MyDllFile.dll" /test:"NameSpace.Folder.Folder1.*"
这很有效,但我需要能够在 运行 时将参数传递给我的测试,所以我找到了 *.运行 设置文件及其将参数传递给使用 RunTestParameters 并从 TestContext 中的属性获取它们的测试,但缺点是我必须非常具体地说明我想要 运行 的测试,并且必须给它一个特定的方法名称或用逗号分隔的名称执行测试,如下所示:
vstest.console.exe "MyDllFile.dll" /设置:"my.runsettings" /测试:"TestMethod1,TestMethod2"
我也试过 TestCaseFilter 也没有成功:
vstest.console.exe "vstest.console.exe "MyDllFile.dll" /设置:"my.runsettings" /TestCaseFilter:"TestCategory=MyTestCategory"
有没有人对我怎样才能用 mstest.exe 和 vstest.console.exe 完成我能做的事情有什么建议?
谢谢!!
vstest.console.exe 的文档特别差。这是可能的,但命令行帮助和 MSDN 文档均未说明如何操作。
可用于 TestCaseFilter 设置的选项似乎是特定于适配器的,但对于默认的 MsTest 适配器,以下属性可用于过滤。
Name=<TestMethodDisplayNameName>
FullyQualifiedName=<FullyQualifiedTestMethodName>
Priority=<PriorityAttributeValue>
TestCategory=<TestCategoryAttributeValue>
ClassName=<ClassName> (Valid only for unit tests for Windows store apps, currently not available for classic MSTest)
..使用以下运算符。
= (equals)
!= (not equals)
~ (contains or substring only for string values)
& (and)
| (or)
( ) (paranthesis for grouping)
因此,对于您的目的,以下形式的 TestCaseFilter 应该足够了。
/TestCaseFilter:"FullyQualifiedName~ProjectNamespace.Subnamespace.TestClass"