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

时间:2017-05-19 14:11:54

标签: php laravel unit-testing phpunit

目前,我正在尝试使用命令行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']);
    }
}

1 个答案:

答案 0 :(得分:4)

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

/**
 * @test
 */
public function basicTest() {
    ...
}