Tag Archives: PHPUnit

Тестирование protected и private методов с PHPUnit

Через reflection (требуется php > 5.3.2):

Полезные вещи в phpUnit

Ниже приведён код теста

XSS-фильтр на PHP с DOMDocument и XPath

Навеяно http://habrahabr.ru/blogs/webdev/70903/ — много чего идеологически взято оттуда. Но код там написан неудобно для меня, поэтому написал свой класс (3 класса) для фильтрации пользовательского контента. Делает следующее: вырезает все неразрешённые теги, в разрешённых при этом удаляет все неразрешённые атрибуты. После этого для всех ссылок на сторонние сайты проставляет атрибут target=»_blank». После этого проверяет все атрибуты …

Read more

Установка PHPUnit «вручную» в Windows

Иногда бывает так, что у PHP по каким-то причинам нет доступа к интернету (NTLM-авторизация, блин((). Тогда придётся ставить всё вручную. В принципе, процесс установки описан на официальном сайте, но неправильно. Действовать можно так: 1.Скачать последнюю стабильную версию PHPUnit (при написании заметки была скачана версия PHPUnit-3.4.0). 2. Разархивировать и скопировать содержимое папки PHPUnit-3.4.0 в папку путь-к-php\PEAR. …

Read more

Установка и использование PHPUnit в Windows

Сначала устанавливаем PEAR. Далее нужно зарегистрировать каналы

Теперь можно установить PHPUnit

При этом может поругаться на версию PEAR. Надо обновить — см. заметку по установке PEAR. Если не получилось установить с помощью PEAR. После этого нужно писать тесты. Подойдёт что-то вроде ModelAdv.php

Запускать из папки с исполняемыми файлами php (где php.exe):

Read more

PHPUnit в MVC-подобных системах

Установка PHPUnit производится через PEAR (Описание на англ.). Главное дальше — это научить систему работать не только (а лучше — совсем не) с серверными переменными вроде $_SERVER[‘REQUEST_URI’], а с переданными урлами (чтобы эмулировать обращение к конкретной странице) (Dependency Injection). В рассматриваемом конкретном случае предполагается в начале каждого теста подгружать файл TestInit.php. Листинг1. TestInit.php

Проблема …

Read more