Как указать phpunit
, что класс является тестовым классом?
Кажется, что аннотация /** @test */
работает только для методов, к имени которых не добавлена строка test
Итак, как запустить тестовый класс без добавления строки test
к его имени?
Вот класс
<?php
namespace Tests\Feature;
use Tests\TestCase;
/** @test */
class RepoPost extends TestCase
{
/** @test */
public function postSave()
{
$this->assertTrue(true);
}
/** @test */
public function anotherOne()
{
$this->assertTrue(true);
}
}
Running
vendor/bin/phpunit --filter RepoPost
Выходы
Нет выполненных тестов!
Обновление
Вот мой phpunit.xml
config
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="tests/bootstrap.php"
colors="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Feature">
<directory>./tests/Feature</directory>
</testsuite>
</testsuites>
<php>
<server name="APP_ENV" value="testing"/>
</php>
</phpunit>
Пока можно запуститькласс по полному пути, как указано @ Alister , вот так
vendor/bin/phpunit tests/Feature/RepoPost.php
Не удобно делать это снова и снова для каждого класса, особенно как часть процесса CI
В идеале класс должен работать в полном наборе тестов к
vendor/bin/phpunit