我需要在windows .bat文件中找出这个看似非常简单的问题。我过去10年一直在使用Linux全职,所以当谈到.bat脚本时,我处于相当陌生的境界。
我们有一些需要从这个.bat文件运行的单元测试,并且需要在测试运行后生成构建。
bat文件本身非常简单,我只想链接命令:
cls
echo "Running test suite - CRMSync"
echo
echo
REM from command: --static-backup
phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit
echo "Running phploc for CRMSync"
phploc --count-tests --verbose > C:\CRMsync\testResults\phploc\index.html
echo "Executing phing"
phing
现在,除了没有通过phpunit命令执行任何操作之外,很简单。我该如何处理? 单元测试运行正常,但我怀疑它甚至可能在单元测试库中该进程被杀死。有没有办法以某种方式分叉过程或让下面的其他命令运行?
非常感谢SO'ers,非常感谢任何帮助。
答案 0 :(得分:11)
与ujifgc相似,我在这些情况下使用“start / b ......”。如果将调用封装到另一个批处理文件中的phpunit,则可以使用“call”。
答案 1 :(得分:9)
我遇到了与我制作的开发脚本相同的问题。我没有成功就尝试了所有给定的解决方案。最后,我用 cmd / C 做了。
从Windows文档中它将:
运行Command然后终止
例如,您可以按如下方式使用它:
cls
echo "Running test suite - CRMSync"
echo
echo
REM from command: --static-backup
cmd /C phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit
echo "Running phploc for CRMSync"
cmd /C phploc --count-tests --verbose > C:\CRMsync\testResults\phploc\index.html
echo "Executing phing"
cmd /C phing
我希望你觉得这很有用。
答案 2 :(得分:4)
phpunit本身是一个批处理文件(我不做太多PHP,所以我不熟悉该工具)?如果是这样,请尝试使用:
call phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit
答案 3 :(得分:2)
尝试start /WAIT phpunit ...
来分叉进程并等待它,或者只是start phpunit ...
来分叉并继续。帮助在这里:start /?
答案 4 :(得分:2)
我用过
开始/ b代码。
cmd / k ng --build-optimizer --aot
启动Visual Studio Code,然后启动节点js服务器。
但是命令行中出现了%更新文本和其他内容。
然后我用
cmd / C代码。
cmd / k ng --build-optimizer --aot
,服务器进程更新停止了故障。