Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «phpmd»
PHP / Легкий способ начать тестировать 2012-02-15 19:29:47
Если вы PHP-разработчик, и по разным обстоятельствам тесты для своих приложений не пишете, то эта ...
+ развернуть текст сохранённая копия
Если вы PHP-разработчик, и по разным обстоятельствам тесты для своих приложений не пишете, то эта статья для вас. В ней я постараюсь вкратце показать с чего начать и что делать, чтобы написание тестов приносило вам радость, а вашему приложению стабильность.
Итак, первый совет. Забудьте всё что вы знаете о юнит-тестах. Швырните табуреткой в человека, который сказал вам, что без них не обойтись. Попробуем разобраться, в каких случаях нужно их использовать, а в каких — нецелесообразно.
Читать дальше →
Тэги: codeception, php, phpunit, tdd, тестирование
PHP / Unit-тестирование в Codeception 2012-01-27 05:36:27
Неделю назад я уже писал о Codeception и об его использования для тестирования PHP приложений. После ...
+ развернуть текст сохранённая копия
Неделю назад я уже писал о Codeception и об его использования для тестирования PHP приложений. После прошлого поста несколько багов было исправлено. Спасибо за багрепорты. Если вы ещё не пробовали Codeception, советую посмотреть прошлую статью и испытать его для приемочных тестов.
Сегодня я хочу рассказать, как в Codeception реализовано юнит-тестирование в BDD-стиле.
Замечу, что модуль для тестирования юнитов пока экспериментальный. Не в значении «нестабильный», а в значении «может и будет расширяться для удоволетворения всех необходимых нужд».
Читать дальше →
Тэги: codeception, php, phpunit, testing
PHP / Codeception — тестирование по-новому 2012-01-18 07:02:25
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, ...
+ развернуть текст сохранённая копия
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.
С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');
Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2, Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
Читать дальше →
Тэги: bdd, php, phpunit, selenium, symfony, testing, zend, тестирование
PHP / Пространства имён + PHPUnit = 100% покрытие тестами 2011-07-26 11:39:05
Давно хотел поделиться с общественностью способом тестировать код, использующий функции для работы с ...
+ развернуть текст сохранённая копия
Давно хотел поделиться с общественностью способом тестировать код, использующий функции для работы с внешней средой: с сокетами, БД, файлами и чем угодно ещё. Сегодня, увидев статью Runkit + PHPUnit = 100% покрытие тестами, решил, что сейчас самое время.
Решение с Runkit красивое, но есть одна проблема — Runkit не распространяется вместе PHP, его надо ставить отдельно. Я же хочу предложить подход, работающий в обычной поставке PHP 5.3+, при одном условии — проект должен использовать пространства имён. Читать дальше →
Тэги: php, php5.3, phpunit, имен, модульный, пространство, тестирование
PHP / Runkit + PHPUnit = 100% покрытие тестами 2011-07-26 00:59:39
Здравствуйте, уважаемые коллеги.
Одним из косвенных показателей качества кода считается ...
+ развернуть текст сохранённая копия
Здравствуйте, уважаемые коллеги.
Одним из косвенных показателей качества кода считается code coverage — степень покрытия его тестами (как правило, имеются в виду модульные тесты). В большинстве случаев за coverage принимается соотношение количеству строк кода, в котрое попадает управление во время прогона тестов, к общему числу значимых (не являющихся комментарием, пустой строкой, или, например одной фигурной скобкой, обозначающей начало или конец блока) строк кода модуля.
Другим же условием хороших тестов является отсутствие сторонних эффектов (side effects), как например создание/удаление файлов, установка сетевых соединений, запись в порты и т.д.
Однако, когда дело касается модуля, взаимодествующего с внешним миром, эти два требования вступают в противоречие. И ладно, если речь идет о файловых операциях, когда на помощь приходит vfsStream. Но что делать, когда надо тестировать, скажем, прямую работу с сокетами или код, использующий функции curl_*?
Под катом вы найдете мое решение и, в качестве бонуса, еще одну ОПП-обертку к курлу, полностью покрытую тестами.
Читать дальше →
Тэги: code, coverage, curl, php, phpunit, runkit, модульный, тестирование
Страницы: 1 2 3 4 5 6 7 8 9 10 11
Главная / Главные темы / Тэг «phpmd»
|
Взлеты Топ 5
Падения Топ 5
|