Мы решили использовать PHPUnit (с Jenkins) в нашем следующем проекте. Мы рассматриваем разные фреймворки PHP, одним из которых является CodeIgniter. Я вижу, что многие люди используют My CIUNIT для «моста» PHPUnit и Codeigniter. В онлайн-документации мало объяснений.
Другим структурам, похоже, не нужен «крутой мост», подобный этому.
Причины:
Вы не нуждаетесь в CIUNIT для модульного тестирования CI. Но вам придется что- то сделать. В моем случае я написал альтернативный фронт-контроллер для index.php, который просто загружает минимум, необходимый для получения суперобъекта CI. Я require_once
его в верхней части тестовых файлов и $this->CI =& get_instance()
в SetUp()
. Однако, если бы я был абсолютно чистым модульным тестером, я должен был уничтожить и воссоздать объект CI после каждого теста в случае, если какое-то государство попало в него. Я не уверен, что CIUNIT сделает это за вас.