Вопрос

У меня есть абстрактный класс PHP, который отвечает за выполнение вилок процесса, а также отсоединение текущего процесса от терминала и продолжать в качестве Deamon.

Я действительно хотел бы получить советы о том, как проверить этот класс (Phpunit). Допустим, реализуйте минимальный сервер сокетов в тесте на основе этого абстрактного и общения с этим? Есть лучшие идеи?

Класс можно увидеть здесь: https://github.com/tcz/phptracker/blob/master/lib/phptracker/threading/forker.php

Благодарю вас!

Это было полезно?

Решение

Здесь нужно проверить две вещи:

  1. Если разбрызгивание работает
  2. Остальная часть кода

Тестирование, если вилка сработала, может быть сделано, сохранив идентификатор раздвоенного процесса где -то и посмотрите, будет ли она все еще работает, а остальная часть класса может быть проверена как обычно без подрыта.

Другие советы

Как сказал Gphilip, вы можете использовать Runkit для Mock PCNTL_FORK () и проверить все ветви кода. Вот пример: http://kpayne.me/2012/01/17/how-to-Unit-test-fork/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top