我正在使用 TeamCity 和 MSBuild 构建应用程序,并且为了能够在构建过程中运行我的 javascript 集成测试(使用 NUnit 和 Watin)并且仍然能够将 TeamCity Build 代理作为 Windows 服务运行,我需要要从交互式命令窗口运行的测试。至少根据这个线程:Watin Tests failed on CC.Net
但是,我在获取 MSBuild“Exec”任务以使用 /interactive 标志启动 cmd.exe 时遇到问题。我试过这样做
<Exec ContinueOnError="false" Command="start $(COMSPEC) /interactive /c $(SolutionDir)/Tests/RunTests.bat"/>
,这将产生一个带有适当标志的新 cmd 窗口,但问题似乎是 ContinueOnError 不再起作用,因为只要产生新的 cmd 窗口成功,它总是会成功。bat 文件可能会失败,但构建仍将继续。
有谁知道如何用 MsBuild 最好地解决这个任务?
如果您对如何在 TeamCity 服务器上使用 Watin 运行集成测试而不在服务器上保持登录用户有其他建议,请发言。