Articles of unit testing

Единичное тестирование: вопросы для начинающих

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

phpunit избежать аргументов конструктора для mock

Каков способ избежать того, что phpunit должен вызвать конструктор для макета? В противном случае мне понадобился бы mock-объект как аргумент конструктора, другой для этого и т. Д. Api выглядит так: getMock($className, $methods = array(), array $arguments = array(), $mockClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE) Я не работаю. Он все […]

Организация тестов PHPUnit в пространствах имен

Я вижу два варианта организации модульных тестов PHPUnit в иерархии пространства имен. Каковы преимущества / недостатки этих двух подходов? Есть ли очевидные недостатки, которые я не рассматривал, что сделало бы один очевидный лучший выбор? Рассмотрим образец класса, например \SomeFramework\Utilities\AwesomeClass : Подход 1: Поместите каждый класс TestCase в то же пространство имен, что и закрытый класс. […]

Тестирование в PHP

Я веб-разработчик, работающий на PHP. У меня ограниченный опыт использования Test Driven Development в настольных приложениях C #. В этом случае мы использовали nUnit для модульной системы тестирования. Я хотел бы начать использовать TDD в новых проектах, но я действительно не уверен, с чего начать. Какие рекомендации у вас есть для фреймворка на основе PHP […]

Как читать / улучшать CRAP-индекс, вычисляемый PHP

Я только начал работать с PHPUnit и его красочными отчетами о покрытии кода. Я понимаю, что все цифры и проценты сохраняют один: индекс CRAP. Может ли кто-нибудь предложить мне обоснованное объяснение того, что это значит, как его анализировать и как его снизить?

Неустранимая ошибка: Class 'CDbTestCase' не найден yii framework

Я следую за «Agile-разработкой веб-приложений с помощью yii 1.1 и php5», и я нахожусь в разделе тестирования с разделами. Я выполнил их код, но я не могу получить доступ к устройству … Я запускаю свой модульный тест в главе 6 после настройки прибора с помощью PHPunit, и он возвращает мне это Last login: Sat Oct […]

«Неустранимая ошибка: вызов неопределенного метода PHPUnit_Util_Filter :: addfiletofilter () в / usr / bin / phpunit в строке 48»

Я только что установил phpunit, используя PEAR на нашем сервере Ubuntu / Linux (Linux mccoy 2.6.28-11-server # 42-Ubuntu SMP Fri Apr 17 02:45:36 UTC 2009 x86_64 GNU / Linux) когда я пытаюсь запустить единичный тест, я получаю ошибку: «Неустранимая ошибка: вызов неопределенного метода PHPUnit_Util_Filter :: addfiletofilter () в / usr / bin / phpunit в […]

Как сохранить данные с помощью сеансовой службы Symfony2 во время функционального теста?

Я пишу функциональный тест для действия, которое использует службу сеансов Symfony2 для извлечения данных. В методе setUp моего тестового класса я вызываю $this->get('session')->set('foo', 'bar'); , Если я выведу все данные сеанса (используя print_r($this->get('session')->all()); ) либо в setUp либо в реальном методе тестирования, я возвращаюсь foo => bar . Но если я попытаюсь выдавать данные сеанса […]

Селен: Как утверждать, что определенный элемент присутствует в определенной ячейке определенной таблицы?

У меня есть таблица на моей странице, которая должна содержать определенный элемент. Я могу определить таблицу по ее имени (у нее есть уникальное имя), и я также могу легко идентифицировать элемент. Я хотел бы утверждать, что элемент присутствует в строке r , столбец c таблицы. Каков самый чистый способ сделать это с помощью команд Selenium? […]

Как получить 100% покрытие кода с помощью PHPUnit

Я пишу приложение Zend Framework и модуль, тестирующий его с помощью PHPUnit. В общем, все идет плавно, но у меня небольшая, но раздражающая проблема с PHPUnit и охватом кода – иногда мне говорят, что определенная строка не проверена, и я не знаю, как заставить ее тестироваться. В следующем коде, например, я запускаю два теста: один […]