Skip to content

Модуль битрикса для внедрения PHPunit без phar

License

Notifications You must be signed in to change notification settings

AndyDune/rzn.phpunit4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rzn.phpunit4

Модуль битрикса для внедрения PHPunit без phar

Начало работы с модулем.

Клонируем как субмодуль. В этом случае размещение модуля будет local/modules/rzn.phpunit4 Папка local содержит файл unit.php, который нужно скопитьвать в папку local. В репозиторий этот файл не добавлять.

В папке тестируемого модуля нужно создать папку tests, в которой и будем помещать классы с тестами.

Для запуска отдельных тестовых классов нужно создать файл tests_map.php, который возвращет массив - здесь будем добавлять описания, для отделных тестовых классов.

Запуск тестов

Тест запускается для каждого модуля отдельно. Подразумевается, что ваши модули хранятся в папке local/modules

На примере модуля rzn.library запустить можно из браузера или с командной строки:

  • 'my.site/local/unit.php?module=rzn.library' - из браузера
  • 'wget -q -O - my.site/local/unit.php?module=rzn.library' - командная строка

Если тестовых классов образуется много, и нет необходимости запускать их каждый раз, нужно внести изменения в файл tests_map.php

return [
    'array_modif' => ['Rzn\Library\Format\ArrayModificationTest', 'tests/format/arraymodificationTest.php'],
    'waterfall'   => ['Rzn\Library\Tests\WaterfallTest', 'tests/waterfallTest.php']
];

Здесь: '<ключ к инструкции>' => ['<имя класса>', '<путь к файлу от корня модуля>'],

Для запуска отдельного теста нужно дополнительно в запросе указать ключ из описания:

  • 'my.site/local/unit.php?module=rzn.library&class=waterfall' - из браузера
  • 'wget -q -O - my.site/local/unit.php?module=rzn.library\&class=waterfall' - командная строка

Создание тестовых классов для Битрикса

Встретил проблему при тестировании работы классов ORM битрикса: игнорирует входные параметры. Причем, если тест только один - то все работает. Перестает работать при нескольких тестах.

Для починки нужно перегрузить параметр родительского класса так:

class MyTest extends PHPUnit_Framework_TestCase
{
    /**
     * Эту переменную нужно вставить в свой класс тестов.
     * @var bool
     */
    protected $backupGlobals = false;
}

About

Модуль битрикса для внедрения PHPunit без phar

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages