构建环境
项目语言: C#
.net框架4.5
OpenCover版本2.5.3427
Specflow版本2.3
Nunit版本3.11.0
要求
在构建期间,用户将选择多个子系统验收测试,我需要为这些子系统运行测试。所有测试都在相同的程序集中,但由文件夹(命名空间)分隔
我正在运行以下命令
"D:\DEVOPS_TOOLSET\opencover.4.5.3427\OpenCover.Console.exe" -filter:"+[Project.AcceptanceTests]Project.AcceptanceTests.Geometry,Project.AcceptanceTests.Arithmentic -[nunit*]*" -target:"D:\DEVOPS_TOOLSET\NUnit.ConsoleRunner.3.11.1\tools\nunit3-console.exe" -targetargs:"Project.AcceptanceTests\bin\Release\Project.AcceptanceTests.dll --framework:net-4.5 --result:UnitTestResults.xml --labels=Before --where \"namespace == Project.AcceptanceTests.Geometry || namespace == Project.AcceptanceTests.Arithmentic\" --trace=Debug" -output:OpenCoverOutput.xml该命令只检测来自"Geometry“命名空间的测试,而不检测来自"Arithmetic”命名空间的测试。
需要有关使用--Where选项从多个命名空间运行测试的帮助
我尝试过在命名空间的where条件中使用||和&&
我尝试过在命名空间的where条件中使用OR和and
到目前为止还不走运。
任何帮助都将不胜感激
发布于 2020-05-04 20:17:22
经过一些实验后,我发现以下命令可以工作
"D:\DEVOPS_TOOLSET\opencover.4.5.3427\OpenCover.Console.exe" -filter:"+[Project.AcceptanceTests]Project.AcceptanceTests.Geometry,Project.AcceptanceTests.Arithmentic -[nunit*]*" -target:"D:\DEVOPS_TOOLSET\NUnit.ConsoleRunner.3.11.1\tools\nunit3-console.exe" -targetargs:"Project.AcceptanceTests\bin\Release\Project.AcceptanceTests.dll --framework:net-4.5 --result:UnitTestResults.xml --labels=Before --where \"namespace == ^'Project.AcceptanceTests.Geometry^' OR namespace == ^'Project.AcceptanceTests.Arithmentic^'\" --trace=Debug" -output:OpenCoverOutput.xml此链接帮助我解决了Run all tests in namespace using Nunit3-console.exe问题
还验证了选定的命名空间是否有适当的测试fixture可用
谢谢
https://stackoverflow.com/questions/61589102
复制相似问题