Articles of unit testing

Тестирование Phpunit с помощью базы данных

Я пытаюсь сосредоточиться на модульном тестировании с использованием PHPunit. Я нашел очень хороший учебник здесь http://blog.nickbelhomme.com/php/phpunit-training-course-for-free_282 Но есть кое-что, что я пропускаю и еще не понимаю, как это сделать. У меня есть пользовательский модуль, который поддерживает всю информацию о пользователях. И есть функция save, которая сохраняет пользователя в базе данных. Итак, у меня есть testFunction […]

PHPUnit: утверждают, что два массива равны, но порядок элементов не важен

Каков хороший способ утверждать, что два массива объектов равны, когда порядок элементов в массиве неважен или даже может быть изменен?

«Веб-интерфейс» для тестов PHPUnit?

Есть ли простой «веб-интерфейс» для запуска наборов тестов PHPUnit? т.е. скрипт PHP, который запускает тест в командной строке и выводит хорошо отформатированный результат HTML. Я разрабатываю веб-приложения, и повседневный рабочий процесс обычно переключается между IDE и браузером. Я хотел бы иметь модульное тестирование в той же среде. Я ищу что-то очень простое и основанное на […]

Как вы используете PHPUnit для проверки функции, если эта функция должна убивать PHP?

По сути, у меня есть метод класса killProgram, который предназначен для отправки перенаправления hTTP, а затем для удаления PHP. Как я должен проверить это? Когда я запускаю phpunit, он ничего не возвращает для этого теста и полностью закрывается. Прямо сейчас я подумываю о том, что функция killProgram выдает исключение, которое не должно обрабатываться, что позволит […]

PHPUnit: возможен вывод CLI во время тестовой отладки?

При запуске теста PHPUnit я хотел бы иметь возможность выгружать выходные данные, чтобы я мог отлаживать одну или две вещи. Я попробовал следующее (аналогично примеру PHPUnit ); class theTest extends PHPUnit_Framework_TestCase { /** * @outputBuffering disabled */ public function testOutput() { print_r("Hello World"); print "Ping"; echo "Pong"; $out = "Foo"; var_dump($out); } } Со следующим […]

Как я могу заставить PHPUnit MockObjects возвращать разные значения на основе параметра?

У меня есть объект PHPUnit mock, который возвращает 'return value' независимо от его аргументов: // From inside a test… $mock = $this->getMock('myObject', 'methodToMock'); $mock->expects($this->any)) ->method('methodToMock') ->will($this->returnValue('return value')); То, что я хочу сделать, – это вернуть другое значение, основанное на аргументах, переданных методу mock. Я пробовал что-то вроде: $mock = $this->getMock('myObject', 'methodToMock'); // methodToMock('one') $mock->expects($this->any)) ->method('methodToMock') […]

Получение PHPUnit Working – Include Path установлен неправильно?

Я пытаюсь заставить PHPUnit работать в моей среде разработки, но я попал в блокпост, когда речь заходит о включении PHPUnit в мои скрипты. Я знаю, что мне нужно установить путь include на PHP, но каждая попытка, которую я пробовал, не выполняется, если компилятор не видит класс PHPUnit_Framework_TestCase. Я просто запускал обновления на PHP и PEAR, […]

Неустранимая ошибка «Файл / Итератор / Autoload.php» не найден при запуске phpunit

Я получаю эту ошибку, пока я пытался запустить testclass в phpunit. C:\xampp\htdocs\unittest>phpunit UnitTest usertest.php PHP Warning: require_once(File/Iterator/Autoload.php): failed to open stream No such file or directory in C:\xampp\php\pear\PHPUnit\Autoload.php on line 45 PHP Stack trace: PHP 1. {main}() C:\xampp\php\phpunit:0 PHP 2. require() C:\xampp\php\phpunit:41 Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or directory in C:\xampp\php\pear\PHPUnit\Autoload.php […]

Что такое единичные тесты и почему меня это беспокоит?

Хорошо, я разрабатываю веб-приложения на PHP и JavaScript и много раз здесь, в Stack Overflow. Я видел, как проходит тестовое тестирование слова, но нигде на веб-сайте я не смог найти удовлетворительный ответ на то, , Итак, что такое модульные тесты, и должен ли я, как программист PHP и JavaScript, заботиться, или они предназначены только для […]

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

Я использую simpleTest для написания своих тестов PHP. Я пишу плагин для загрузки файлов и задавался вопросом, как я могу его тестировать. Я хотел бы проверить, что файл правильно загружен, в правильной папке, эта ошибка корректно возвращается при необходимости и т. Д. Как эмулировать загрузку файла (через переменную $ _FILES)? Есть ли какие-то проблемы, о […]