Запуск модульных тестов как в Windows, так и в Linux
Вопрос
Есть ли способ, метод, позволяющий эффективно запускать модульные тесты (phpunit) как на Linux, так и на Windows?
Мне нужно это сделать, потому что некоторые части системы доступны только под Linux, но я хочу иметь возможность запускать определенные части набора тестов в своей IDE, то есть NetBeans кстати.
Проблемы, с которыми я сталкиваюсь, большую часть времени связаны с путями.Чтобы еще больше усложнить ситуацию, я также планирую запускать тесты изнутри. пинг.
Но я еще не рассмотрел возможность адаптировать разные наборы тестов для разных платформ.Возможно ли это вообще?
Тесты в основном находятся внутри тестового каталога, а исходный код — в src.Пути включения обрабатываются включенным файлом.Можно ли использовать автозагрузчик для обработки другой структуры каталогов?
Решение
Я действительно не вижу вашей проблемы.Используйте PATH_SEPARATOR, проверьте ОС с помощью PHP_OS, а также используйте phpunit.xml.
Вы также можете создать два (или более) XML-файла конфигурации PHPUnit, если они вам нужны.
Другие советы
Чтобы еще больше усложнить ситуацию, я также планирую запускать тесты изнутри phing.
Чтобы запустить определенные части рабочего процесса phing для каждой операционной системы, вы можете использовать ConditionTask.
http://phing.info/docs/guide/stable/chapters/appendixes/AppendixB-CoreTasks.html#ConditionTask
Есть ли способ, метод, позволяющий эффективно запускать модульные тесты (phpunit) как в Linux, так и в Windows?
вы можете аннотировать свои тесты PHPUnit с помощью:
@группа
Это позволяет вам указать конкретную «группу» тестов для запуска.Итак, для всех тестов, касающихся окон, вы можете пометить их как:
@группа Освин
Затем, когда вы запускаете phpunit, вы указываете группу «oswin».Например:
phpunit --group освин