我正在尝试添加运行属于特定类别的selenium测试的功能。在我们的selenium测试文件中,我添加了一个测试类别属性。由于我们进行了自动化测试,因此我们使用msbuild.exe构建目标应用程序,然后使用带有类别开关的mstest.exe来运行测试。
每次运行测试时,msbuild.exe都会显示“MSBUILD:错误MSB1001:未知切换。切换:/ category:cat1& cat2”
msbuild的版本是4.0.30319。有什么想法/建议吗?
谢谢!
答案 0 :(得分:1)
听起来你正试图将一个mstest.exe特定的命令行参数传递给msbuild.exe,对吧?不确定你会怎么想这个工作,msbuild.exe不理解它们。据推测,您正在使用msbuild在Exec任务中调用mstest,或者您是否通过其他方式执行测试?无论如何,/ category:...开关需要传递给mstest.exe的调用。您可以让msbuild脚本接受正确的msbuild参数并将其转换为mstest识别的参数,例如:
>msbuid My.proj /p:mstestcat=cat1%26cat2
这会传入一个名为$(mstestcat)的新的有效msbuild属性。 %26是msbuild逃离'&'的方式字符。当您在msbuild中调用mstest.exe时,请执行以下操作,
<Exec
Command="mstest.exe ... /category:$(mstestcat)"
...
/>