在 SpecFlow SpecRun 中,如何使用 .bat 文件 运行 Specrun.exe 而不是 runtests.cmd?

In SpecFlow SpecRun, How to run Specrun.exe instead of runtests.cmd using a .bat file?

我知道 runtests.cmd 使用 "C:\Users\username\Documents\Visual Studio 2015\Projects\blah\blahblah\runtests.cmd" 从 .bat 文件工作。 但是由于我的 Team City 设置中有一个 MSBuild 步骤,我不想重新运行由 runtests.cmd

触发的构建步骤

因此,我尝试通过指定 "C:\Users\username\Documents\Visual Studio 2015\Projects\blah\packages\SpecRun.Runner.1.5.2\tools\SpecRun.exe run Default.srprofile "/baseFolder:C:\Users\username\Documents\Visual Studio 2015\Projects\blah\blahblah\bin\Debug" /log:[ 来创建仅运行 Specrun.exe 的 .bat 文件=29=]" 。

但是这里的问题是 Specrun.exe 需要在引号中指定 /baseFolder 和 bat 命令也是如此,它错误地说 "C:\Users\nandyu\Documents\Visual Studio 2015\Projects\SpecFrame\packages\SpecRun.Runner.1.5.2\tools\SpecRun.exe run Default.srprofile " 不是内部或外部命令。

现在,这里的问题是批量执行与命令中的多个引号混淆了。 /baseFolder 是否必须用双引号 "/baseFolder :path" 提及?还是有其他方式指定 /baseFolder 参数?

我认为你必须在正确的位置设置引号:

"C:\Users\username\Documents\Visual Studio 2015\Projects\blah\packages\SpecRun.Runner.1.5.2\tools\SpecRun.exe" 运行 Default.srprofile /baseFolder:"C:\Users\username\Documents\Visual Studio 2015\Projects\blah\blahblah\bin\Debug" /log:specrun.log