Модульное тестирование Zend Framework 2 с использованием CodeCeption



В настоящее время мы используем CodeCeption для проведения некоторых приемочных испытаний, но я хотел бы также добавить модульное тестирование к текущей настройке.



Кто-нибудь проводил модульное тестирование в проекте Zend Framework 2 с использованием CodeCeption? И если да, то как вы создали окружающую среду?

588   2  

2 ответов:

Нашел это в codeception docs: http://codeception.com/docs/modules/ZF2

В этом проекте github есть пример: https://github.com/Danielss89/zf2-codeception

Я решил эту проблему с помощью PHPUnit. Я следовал руководству Zend PHPUnit, http://framework.zend.com/manual/current/en/tutorials/unittesting.html , что меня только до сих пор и довело. Но я смог загрузиться в Zend, используя phpunit.xml-файл и указание на него _bootstrap.РНР. Codeception также для того, чтобы запустить мои тесты с помощью _bootstrap.PHP-файл. Итак, теперь я могу запускать свои тесты, используя оба:

Phpunit -- bootstrap tests/unit/_bootstrap.php

И

Php vendor / bin / codecept run unit

Я был удивлен, увидев, как мало примеров для этого существует. Я писал тесты для клиента очереди заданий. Вот немного моего теста:
protected function setUp()
{

    $this->serviceManager = new ServiceManager(new ServiceManagerConfig());
    $config = Bootstrap::getConfig();        

    $this->serviceManager->setService('ApplicationConfig', $config);
    $this->serviceManager->get('ModuleManager')->loadModules();

    $this->client = $this->serviceManager->get('jobclient');
    $this->client->addServers(array(array('ip' => '127.0.0.1', 'port' => '666')));
}

public function testServiceCreateSuccess() {

    $this->client->setQueue($this->testData['queue']);

    $this->assertEquals($this->client->getQueue(), $this->testData['queue'], 'We get the expected queue');
}

Я издевался над клиентом задания и имел локальный конфиг. Мой бутстрап.php-файл выглядит в основном так же, как и пример Zend, за исключением того, что я использую фабрики, определенные в конфигурации сервиса для управления некоторыми объектами. Итак, я выполнил метод "setService" в тестовой установке, а не в bootsrap init.

Comments

    Ничего не найдено.