PHPUnit из командной строки – список отображаемых файлов зависимостей. Как я могу отобразить только тестовый скрипт?

Я установил PHPUnit в Windows 7 с PHP и Pear.

У меня есть базовый тестовый скрипт, который начинается с:

<?php class StackTest extends PHPUnit_Framework_TestCase { public function testTest() { $this->assertTrue(false); } } 

Я запускаю его из командной строки:

 phpunit unittest testTest.php 

И получив следующий доход:

 PHPUnit 3.6.5 by Sebastian Bergmann. F Time: 0 seconds, Memory: 2.75Mb There was 1 failure: 1) StackTest::testTest Failed asserting that false is true. C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\Constraint.php:145 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\Constraint.php:92 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\Assert.php:2100 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\Assert.php:854 C:\Users\lbassett\Dropbox\Projects\Test\testTest.php:10 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestCase.php:939 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestCase.php:801 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestResult.php:649 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestCase.php:748 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestSuite.php:772 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestSuite.php:745 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\TextUI\TestRunner.php:325 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\TextUI\Command.php:187 C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\TextUI\Command.php:125 C:\Program Files (x86)\PHP\PEAR\phpunit:44 FAILURES! Tests: 1, Assertions: 1, Failures: 1. 

Моя проблема заключается в длинном списке разных файлов.

Я только хочу увидеть свой тестовый скрипт. Я что-то упускаю?

Укороченная версия:

Это ошибка в PHPUnit. Я исправил это. Со следующим небольшим выпуском он будет работать.


Длинные версии:

Вы уже заметили, что ваш файл включен в backtrace

  C:\Users\lbassett\Dropbox\Projects\Test\testTest.php:10 

поэтому вопрос в том, почему есть все, что другие вещи вокруг ваших классов.

PHPUnit должен отфильтровать этот backtrace и вычеркнуть все классы PHPUnit, но по некоторым причинам, которые, похоже, не работают.

Вывод на linux:

 PHPUnit 3.6.5 by Sebastian Bergmann. F Time: 0 seconds, Memory: 3.00Mb There was 1 failure: 1) failingTest::testFail Failed asserting that false is true. /home/edo/phpunit-dev/oneFailingTest/failingTest.php:6 

Сначала я ожидал проблемы с пробелами в Program Files но я установил ее в папку без пробелов, и она тоже «ломается».

Для меня это ошибка в PHPUnit.

Я предлагаю you file an issue at the github issue tracker указать you file an issue at the github issue tracker , чтобы фильтрация backtrace была разбита на окна, и я посмотрю, смогу ли я позаботиться об этом. Изменить: я нажал исправление . Он должен быть решен в PHPUnit 3.6.6 (когда он будет выпущен). См. Правки.


Редактировать: Да. Проблема, похоже, исходит из PHPUnit_Util_Filter :: phpunitFiles (); возвращая пути с \ вместо / .

исправлять

Если вы поместите следующий код в: PHPUnit/Util/GlobalState.php в строке 412. (Перед операцией return)

 foreach(self::$phpunitFiles as $key => $value) { unset(self::$phpunitFiles[$key]); self::$phpunitFiles[str_replace("/", "\\", $key)] = $value; } не foreach(self::$phpunitFiles as $key => $value) { unset(self::$phpunitFiles[$key]); self::$phpunitFiles[str_replace("/", "\\", $key)] = $value; } 

то вы получите красивую обратную сторону. Я позабочусь о том, чтобы он был исправлен в 3.6.6 с более приятным патчем.