PHPUnit | Laravel phpunit只运行类测试的第一个测试

Max*_*urg 2 php phpunit unit-testing laravel

当前,我正在尝试使用命令行phpunit tests / Unit / ExampleTest在laravel项目上使用phpunit运行一些简单的单元测试。但是它仅运行第一种方法。有人有解决方案吗?谢谢 !

namespace Tests\Unit;

use PHPUnit\Framework\TestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class ExampleTest extends TestCase
{
    /**
     * A basic test example.
     *
     * @return void
     */
    public function testBasicTest()
    {
        $this->assertTrue(true);
    }

    /**
     * An other basic test
     *
     * @return void
     */
    public function secondTestBasicTest()
    {
        $this->assertTrue(true);
    }

    public function basicTest(){
        $response = $this->action('GET', 'DepartementsController@display', ['id' => 1]);
        $view = $response->original;
        $this->assertEquals(1, $view['$dpt->iddepartement']);
    }
}
Run Code Online (Sandbox Code Playgroud)

Etk*_*tki 7

默认情况下,PHPUnit仅启动以test前缀开头的方法,因此,secondTestBasicTest并且basicTest不属于这种情况。您可以像@test在PHPDoc中一样显式注释测试,以覆盖此行为:

/**
 * @test
 */
public function basicTest() {
    ...
}
Run Code Online (Sandbox Code Playgroud)