我有一个抽象的PHP类,负责执行过程分叉,并从终端脱离当前的过程,并继续担任Deamon。

我真的很想获得有关如何单元测试此类(PHPUNIT)的提示。假设在基于此摘要中实现测试中的最小插座服务器并与之进行通信?有更好的想法吗?

可以在这里看到课程: https://github.com/tcz/phptracker/blob/master/lib/phptracker/threading/forker.php

谢谢!

有帮助吗?

解决方案

这里需要测试两件事:

  1. 如果叉子有效
  2. 其余的代码

测试是否可以通过在某个地方保存叉子进程的ID并查看是否仍在运行,并且可以像往常一样对其进行测试。

其他提示

正如Gphilip所说,您可以使用Runkit来模拟PCNTL_FORK()并测试代码的所有分支。这是一个例子: http://kpayne.me/2012/01/17/how-to-unit-test-fork/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top