Laravel 4 В TestCase не найдены тесты
У меня возникают проблемы с phpunit. Когда я выполняю тест, phpunit дает мне следующие предупреждения:
1) Предупреждение В классе "Illuminate\Foundation\Testing\TestCase" тестов нет.
2) Предупреждение В классе "TestCase" не найдены тесты.
Но я бы хотел игнорировать эти файлы, так что phpunit не будет пытаться запускать тесты из них.
Как это сделать?
Ответы
Ответ 1
Надеюсь, что теперь вы нашли ответ, но если вы этого не сделали, это может помочь:
Хмм - убедитесь, что имена файлов и имена классов совпадают. Для например, нет класса FooTest с именем файла BarTest.php.
Кроме того, вы уверены, что у вас есть файл * Test.php в каталог приложений/тестов?
[...]
Вот и все, например, у одного из моих тестов была опечатка в имени файла-vs-classname. Странно, что опечатка выдает предупреждение в классах TestCase и вместо того, чтобы помечать класс, который фактически вызвал его.
С:
https://laracasts.com/forum/?p=83-warnings-for-testcase-illuminate-foundation-testing-testcase/0
В основном убедитесь, что имена файлов и имена классов совпадают. Я тоже ударился головой об этом.
Ответ 2
Дополнительным решением может быть создание абстрактного класса TestCase. Поступая таким образом, PHPUnit не будет пытаться найти в нем какие-либо тесты.
abstract class TestCase {
Ответ 3
Для меня проблема заключалась в том, что имя класса не соответствовало имени файла, поэтому класс, определенный как
class ExampleTest {
не был назван ExampleTest.php.
Если есть определенные тестовые файлы, которые вы хотите игнорировать, зайдите в файл phpunit.xml и внутри
<testsuite name="Application Test Suite">
<directory></directory>
</testsuite>
заменить теги каталога тегами и указать конкретный тестовый файл, который вы хотите использовать.
Ответ 4
Для меня у меня была ошибка в согласии. Решение изменило имя класса и файл, от TestFoo
до FooTest
.
Ответ 5
У меня тоже была проблема. Я проверил, что мое имя файла и имя класса совпадают с AuthTest.php
и AuthTest
соответственно.
Но все же я получал такое же предупреждение, возможно, потому, что переименовал ExampleTest.php
в AuthTest.php
.
В любом случае я удалил предыдущий файл и использовал php artisan make:test AuthTest
и это сработало.