仅在系统进程运行完成后才进行PHPUnit断言

时间:2010-08-03 11:13:38

标签: php shell process phpunit

我正在尝试测试后台shell进程的结果(使用exec()运行)。为此,我需要PHPUnit断言等到进程结束。

我想知道最好的方法是什么?我应该在循环中对正在运行的进程进行检查,并使用一个非常小的参数sleep()来等待它完成吗?

1 个答案:

答案 0 :(得分:1)

由于没有人回答一天我会去拍摄:

第一个冲动的答案是:“你不应该这样做”。它与goals of Unittesting并不匹配(例如,运行该测试的速度并不快)。

如果您正在为一个调用该脚本的类编写一个测试,那么您并不是真的只测试一个而是两个。调用命令行脚本的脚和脚本是自己的,你可以模拟shell部分。

如果你只是想确保exec工作,那么我的第一个想法就是以一种不会将该shell进程作为后台任务生成但作为前台任务并且不需要一些“等待”解决方法。

希望帮助了一个小小的