сделать утверждение PHPUnit только после завершения системного процесса - PullRequest
1 голос
/ 03 августа 2010

Я пытаюсь проверить результат процесса фоновой оболочки (запускается с exec ()). Для этого мне нужно утверждение PHPUnit, чтобы дождаться окончания процесса.

Мне было интересно, как лучше всего это сделать? Стоит ли проверять запущенный процесс в цикле и использовать sleep () с очень маленьким параметром, чтобы дождаться его завершения?

1 Ответ

1 голос
/ 05 августа 2010

Поскольку никто не отвечал в течение дня, я собираюсь сделать снимок:

Первый импульсивный ответ будет: «Вы не должны этого делать».Это не совсем соответствует целям Unittesting (например, этот тест не очень быстрый).

Если вы пишете тест для класса, который называет этот скрипт, то вы на самом деле не тестируете одну вещь, а две.Класс, который вызывает командную строку Script и этот Script сам по себе, и вы можете смоделировать часть оболочки.

Если вы просто пытаетесь убедиться, что exec работает, моей первой идеей будет создание вашего Test вспособ, который не порождает этот процесс оболочки как фоновую задачу, а как задачу переднего плана и устраняет необходимость в некотором обходном пути ожидания.

Надеюсь, что это помогло

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...