Как создать кейс PHP-UnitTest для стандартов PHP_Codesniffer? ` - PullRequest
6 голосов
/ 22 июня 2011

Я создал свои собственные стандарты правил codeniffer. Они работают нормально.Теперь я хочу протестировать правила codeniffer с помощью PHP UnitTest.PhpCodesniffer уже имеет свои рамки для тестового примера PHPUnit.

Таким образом, я расширил их AbstractSniffUnitTest и класс модульного тестирования в расположении Standards/TestRules/Tests/Function/FunctionUnitTest.php, а сценарий, который должен быть проверен, сохранен в Standards/TestRules/Tests/Function/FunctionUnitTest.inc.

Но когда я собираюсьчтобы запустить скрипт командой phpunit PEAR\PHP\tests\AllTests.php, выдается следующая ошибка.

PHPUnit 3.5.14 by Sebastian Bergmann.

......................................F

Time: 6 seconds, Memory: 10.00Mb

There was 1 failure:

1) TestRules_Tests_Function_FunctionUnitTest::getErrorList
An unexpected exception has been caught: Source file C:/Program Files/PHP/PEAR/PHP/CodeSniffer/Standards/TestRules/Tests/Function/FunctionUnitTest.inc does not exist

C:\Program Files\PHP\PEAR\PHP\tests\Standards\AbstractSniffUnitTest.php:138
C:\Program Files\PHP\PEAR\PHP\tests\TestSuite.php:48

FAILURES!
Tests: 39, Assertions: 146, Failures: 1.

Warning: Deprecated PHPUnit features are being used 2 times!
Use --verbose for more information.

Выдает файл ошибки FunctionUnitTest.inc, не найденный в указанном месте.Я дал полное разрешение на папку также проверить путь и местоположение файла, но он дает ту же ошибку.Я также проверил его на машине с Linux, но он выдает ту же ошибку.

Это проблема с моим кодом или codeniffer unittest Framework?

Ответы [ 3 ]

1 голос
/ 22 июня 2011

Ваши файлы находятся в каталоге tests или CodeSniffer верхнего уровня? Обратите внимание, что абстрактный тестовый пример, который вы расширяете, находится в tests

C:\Program Files\PHP\PEAR\PHP\tests\Standards\AbstractSniffUnitTest.php

, но пытается включить файл из CodeSniffer:

C:/Program Files/PHP/PEAR/PHP/CodeSniffer/Standards/TestRules/Tests/Function/FunctionUnitTest.inc

Попробуйте переместить два файла в другой каталог.

1 голос
/ 22 июня 2011

Я вижу пробел около i i nc - убедитесь, что это опечатка, и исправьте ее, она должна работать.Кроме этого я не вижу никаких проблем.

Изменение:

C: / Программные файлы / PHP / PEAR / PHP / CodeSniffer / Стандарты / TestRules / Tests / Function / FunctionUnitTest.i nc

К

C: / Программные файлы / PHP / PEAR / PHP / CodeSniffer / Стандарты / TestRules / Tests / Function/FunctionUnitTest.inc

0 голосов
/ 04 июля 2011

Кажется, у него проблема с путями в Windows.Я тестировал тестовые примеры на Linux, все отлично работает.Когда я проверил реальный код, кажется, что происходит сопоставление файла из файла тестового примера в файл сниффа.Но в окне, после сопоставления файла, путь к файлу содержит смешивание прямых и обратных строк. Но коды не разрешают этого.Из-за этого он возвращает, что «файл не найден ошибка».Тестовые случаи выполняются нормально в Linux.

...