Articles of unit testing

Как выполнить код после trigger_error (…, E_USER_WARNING) в модульном тесте (PHPUnit)?

У меня такой код: class ToBeTested { function simpleMethod($param) { if(0 === $param) { trigger_error("Param is 0!", E_USER_WARNING); return false; } return true; } } и проверьте этот код: class SimpleTest extends PHPUnit_Framework_TestCase { function testSimpleMethod() { $toBeTestedObject = new ToBeTested(); $this->assertFalse($toBeTestedObject->simpleMethod(0)); } } Я знаю, как тестировать, если ошибка запускается ( $this->setExpectedException() ), но […]

Ошибка при запуске PHPUnit

При попытке запустить phpunit . появляется следующая ошибка phpunit . из папки моих проектов: PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Framework.php on line 46 Я установил PHPUnit с помощью следующих команд: sudo pear channel-discover pear.symfony-project.com sudo pear channel-discover components.ez.no sudo pear install –alldeps phpunit/PHPUnit Как ни один из других методов, похоже, не […]

Почему CIUnit необходим для использования PHPUnit с CodeIgniter?

Мы решили использовать PHPUnit (с Jenkins) в нашем следующем проекте. Мы рассматриваем разные фреймворки PHP, одним из которых является CodeIgniter. Я вижу, что многие люди используют My CIUNIT для «моста» PHPUnit и Codeigniter. В онлайн-документации мало объяснений. Зачем это нужно? Другим структурам, похоже, не нужен «крутой мост», подобный этому.

seeInField находит элемент, а fillField – не CodeCeption

Я абсолютно не знаком с CodeCeption. У меня есть нижний html внутри тела, <div><input type="text" name="content_id" id="contentId" maxlength="10" value="123"></div> В приемочном тесте CodeCeption у меня есть этот код ниже `<?php $I = new AcceptanceTester($scenario); $I->wantTo('fillfield test'); $I->amOnPage('/'); $I->seeInField('#contentId', 123); $I->fillField('#contentId', 222397); ?>` seeInField Test успешно проходит, но fillField вызывает ошибку Извините, я не смог заполнить […]

Утвердить несколько условий в одном тесте или разбить на несколько тестов?

Если вы тестировали функцию count, подобную приведенной ниже, считается ли она «правильной» или «неправильной» для проверки нескольких вещей для функции в одной функции и наличия тестовой функции для каждого из тестов? function testGetKeywordCount() { $tester = $this -> getDatabaseTester($this -> CompleteDataFile); $tester -> onSetUp(); $KeywordID = 0; $this -> setExpectedException('InvalidArgumentException'); $this -> keyword -> getKeywordCount($KeywordID,'Active'); […]

PHPUnit: утверждать параметр, когда он передается для издевательства объекта

Для кода ниже, $mockObject->expects($this->at(0)) ->method('search') ->with($searchConfig) ->will($this->returnValue([])); Эта строка автоматически сделает подтверждение того, что при вызове метода search он должен содержать параметры $searchConfig . В этом случае мы должны предоставить полностью сопоставленный $searchConfig но иногда это сложно, если это массив или объект. Есть ли какой-либо возможный способ дать PHPUnit вызов некоторому определенному методу, чтобы утверждать, […]

Zend Framework и Doctrine 2 – достаточны ли мои тесты?

Я совершенно новичок в Zend и модульном тестировании в целом. Я придумал небольшое приложение, которое использует Zend Framework 2 и Doctrine. У него есть только одна модель и контроллер, и я хочу выполнить некоторые модульные тесты на них. Вот что я до сих пор: Base doctrine 'entity' class, содержащий методы, которые я хочу использовать во […]

почему PHPUnit пытается найти файл с именем testuite?

У меня это в файле phpunit.xml: <phpunit …> <testsuites> <testsuite name="MyTests"> <directory>../path/to/some/tests</directory> </testsuite> </testsuites> … // more settings for <filter> and <logging> </phpunit> И когда я иду запустить его, я получаю эту ошибку: PHP fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Neither "MyTests.php" nor "MyTests.php" could be opened.' Почему PHPUnit дает мне эту ошибку и […]

Не удается отправить сеанс cookie – уже отправлены заголовки PHPUnit / Laravel

У меня есть эта странная проблема, когда я вызываю parent::setUp() в моем классе TestCase для модульного тестирования класса, когда я запускаю phpunit, чтобы он меня выбрал для этой ошибки: 1) MatchRequestRepositoryTest :: test_find_requests_by_match_id ErrorException: session_start (): Не удается отправить cookie сеанса – уже отправленные заголовки (вывод запущен в /var/www/project.dev/vendor/phpunit/phpunit/PHPUnit/TextUI/TestRunner.php:459) В чем проблема? Спасибо за любую […]

Как указать, что ожидается, что тест PHPUnit завершится неудачей?

Можно ли пометить тест как «ожидаемый сбой» с помощью PHPUnit? Это было бы полезно при выполнении TDD, и вы хотите различать действительно неудачные тесты и тесты, которые не выполняются, потому что связанный код еще не написан.