Articles of phpunit

Передать по ссылке в обратном вызове, когда насмехается в PHPUnit

У меня есть интерфейс, который я хочу высмеять, и издеваться над поведением одного из его методов. Поэтому я создал обратный вызов, который очень насмехается в поведении. Этот тест проходит, если я создаю новый объект, основанный на этом интерфейсе, но я хотел бы высмеять интерфейс. Обманутый метод setUp вызывается штрафом, и вызов getVar ('testing') в моем […]

phpunit assertNull получает поврежден zend_mm_heap

При использовании скаляра: $null = null; $this->assertNull($null); Проверить OK $null = 'not null'; $this->assertNull($null); Тест не пройден При использовании Object: $this->assertEquals(null, $menu->getChild('Projects')); Проверьте OK или Fail, если $ menu-> getChild («Проекты») является нулевым или нет $this->assertNull($menu->getChild('Projects')); Висит и я получаю ошибку: zend_mm_heap поврежден При использовании AssertNull я не получаю такое же поведение, как AssertEquals (null, […]

(PHP): Тестирование моделей с помощью Zend_Test_PHPUnit_DatabaseTestCase

Когда я запускаю свой модульный тест PHP, я получаю: 1) Test_Model_Mapper_TestTest::testTest Argument 1 passed to PHPUnit_Extensions_Database_DataSet_DefaultTableIterator::__construct() must be an array, null given, called in /usr/share/php/PHPUnit/Extensions/Database/DataSet/AbstractXmlDataSet.php on line 134 and defined /var/www/kosheroven/library/Zend/Test/PHPUnit/Db/Operation/Truncate.php:73 /var/www/kosheroven/tests/ModelTestCase.php:79 /var/www/kosheroven/tests/application/models/mappers/TestTest.php:33 Ожидаемый результат – это, очевидно, тест. Покрасив несколько эхо-сигналов, я обнаружил, что это вызвано из-за вызова parent :: setUp (), но я […]

Пример теста PHPUnit на Laravel 5.4 не работает с 404

Я могу сделать свой проект на Laravel 5.4 из ссылки: localhost: 8888 / streaming_statistic / public У меня есть тест: <?php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; class ApiTest extends TestCase { public function testBasicTest() { $response = $this->get('/'); $response->assertStatus(200); } } Я запускаю все тесты с помощью команды ./vendor/bin/phpunit Но […]

Как я могу использовать отражение PHP для установки статического свойства?

Я использую PHPUnit, чтобы сделать макет для тестирования. class Item extends Object { protected static $_cache; } Я довольно уверен, что насмехается над чем-то вроде этого (пожалуйста, поправьте меня, если я ошибаюсь): class Mock_Item_randomstring extends Item { } Когда кеш моего Item заполняется, он проверяет, что передаваемый объект является экземпляром Item . Поскольку макет явно […]

PHP «Uninclude» или удалить из памяти?

Я создаю инструмент тестирования для выполнения в каталогах устаревшего PHP-кода, который чрезвычайно сложно выполнить модульный тест, хотя я использую PHPUnit для этого инструмента. Одна из интересных вещей о PHPUnit заключается в том, что она превратит в уведомления PHP, предупреждения и ошибки в исключение. Используя этот бит знаний, я создал инструмент для рекурсивного include() файлов из […]

phpunit testing expectedException не работает

Я пытаюсь проверить свой класс на InvalidArgumentException, но я получаю Тесты \ BarTest :: should_receive_parameter Отсутствует аргумент 1 для Itdc \ Foo \ Bar :: __ construct (), вызывается в /mypath/foo/tests/BarTest.php в строке 10 и определяется Это файл теста (BarTest.php), который я использую: <?php namespace Tests; use Itdc\Foo\Bar; class BarTest extends \PHPUnit_Framework_TestCase { /** @test […]

Должен ли я бросать разные типы исключений?

Когда вы бросаете исключения по назначению, я всегда просто использовал базовый класс исключений PHP, просто с другим сообщением, например: <?php if($a < $b){ throw new Exception('a is smaller than b'); }elseif($a > $b){ throw new Exception('a is larger than b'); } Однако недавно я заметил, что некоторые люди бросают разные классы исключений, например: <?php if($a […]

Настройка тестов PHPUnit в Laravel

Я довольно новичок в модульном тестировании, но я почти полностью прочитал всю документацию на phpunit.de (до главы 10). В нем говорится, что тестирование с использованием баз данных может быть медленным, но при правильной настройке это может быть так же быстро, как тестирование без базы данных. Поэтому я хочу протестировать модель в Laravel. Я создал фабрику […]

PHP_CodeCoverage_Filter :: getInstance () Ошибка при запуске phpunit

Я установил phpunit в свой Ubuntu 11.10 с php версии 5.2.14. Но когда я запускаю свой тестовый модуль, он бросает ошибку, PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Autoload.php on line 64 Я выполнил шаги, упомянутые в этом стеке, но все равно не повезло. Вызов неопределенного метода PHP_CodeCoverage_Filter :: getInstance ()