Articles of unit testing

Как PHPUnit проверить метод без возвращаемого значения?

Я пытаюсь проверить методы из следующего класса, который я написал (есть больше функций, чем показано, в основном одна функция для каждого – это метод _ * ()): class Validate { private static $initialized = false; /** * Construct won't be called inside this class and is uncallable from the outside. This prevents * instantiating this […]

Выполнение модульного тестирования с вложенными зависимостями и заводскими классами

Я новичок в модульном тестировании и PHPUnit, но в последнее время я много читаю о шаблонах проектирования и изолированных тестах, и я решил реорганизовать приложение, над которым я работаю, чтобы избавиться от статических классов, одиночных кодов, жестко закодированных зависимостей и все остальное, определенное в глобальном масштабе, надеясь сделать его «проверяемым», а не болью в заднице, […]

Выполнение тестов phpunit с использованием HHVM (HipHop)

Я пытаюсь запустить модульные тесты PHPUnit через HHVM на виртуальной установке Ubuntu 12.04 (64-разрядный сервер). Обычно тесты выполняются с использованием файла phpunit.xml, который находится в моем каталоге тестов, который включает в себя загрузочный файл для обработки автозагрузки, а тесты выполняются нормально при обычной установке php. Однако я продолжаю получать: HipHop Fatal error: File not found: […]

Codeception \ Util \ Stub методы :: точно и :: один раз не работают

Я использую Codeception \ Util \ Stub для создания модульных тестов. И я хочу быть уверенным, что мой метод называется несколько раз. Для этого я использую метод «точно». Пример: use \UnitTester; use \Codeception\Util\Stub as StubUtil; class someCest { public function testMyTest(UnitTester $I) { $stub = StubUtil::makeEmpty('myClass', [ 'myMethod' => StubUtil::exactly(2, function () { return 'returnValue'; […]

Являются ли глобальные константы PHP хорошей современной практикой развития?

Я работаю над новым проектом с большой кодовой базой PHP. Приложение использует довольно много PHP-констант ( define('FOO', 'bar') ), особенно для таких вещей, как параметры подключения к базе данных. Эти константы определены в одном файле конфигурации, который require_once() 'd напрямую, в основном, каждому классу приложения. Несколько лет назад это имело бы смысл, но с тех […]

Как реализовать SimpleTest в Кохане

Мой босс поручил мне узнать, как использовать Кохану и выполнить простой тест. Мы хотели бы использовать его в качестве нашей основы для будущих проектов. Будучи новичком в KohanaPHP и SimpleTest , я не могу понять, как сделать даже самый простой тест моих помощников. Я даже не могу найти пошаговое руководство по подключению SimpleTest к Kohana. […]

Тестирование Laravel с помощью PHPUnit и Mockery – Настройка зависимостей от теста Controller

После того, как я наконец пропустил свой глупый простой тест, у меня появилось ощущение, что я делаю это неправильно. У меня есть SessionController, который отвечает за отображение страницы входа и регистрации пользователя. Я решил не использовать фасады, так что мне не пришлось бы продлевать TestCase Laravel и делать удар производительности на моих модульных тестах. Поэтому […]

Как выполнить модульный код сокета с помощью PHPUnit?

В настоящее время у меня есть класс Socket , который в основном представляет собой класс оболочки OO для функций socket_* PHP: class Socket { public function __construct(…) { $this->_resource = socket_create(…); } public function send($data) { socket_send($this->_resource, $data, …); } … } Я не думаю, что могу издеваться над сокетным ресурсом, так как я использую […]

PHPUnit – «Никаких тестов не выполняется» при использовании файла конфигурации

Проблема Чтобы улучшить качество кода, я решил попробовать узнать, как тестировать мой код с помощью Unit Testing вместо моих посредственных лучших решений для тестирования. Я решил установить PHPUnit с помощью композитора для личной библиотеки, что позволяет мне выполнять общие функции базы данных. Сначала у меня не было файла конфигурации для PHPUnit, и когда я запускал […]

Установите SQLite в качестве базы данных для модульного тестирования в Laravel 5.1

Я пытаюсь настроить модульное тестирование в Laravel 5.1. Следуя документации, я вижу следующее: Laravel построен с учетом тестирования. Фактически, поддержка тестирования с помощью PHPUnit включена в комплект поставки а также При запуске тестов Laravel автоматически настроит среду конфигурации на тестирование. Laravel автоматически настраивает сеанс и кеш на драйвер массива во время тестирования, а это означает, […]