我尝试在Laravel 5.6中使用phpunit
,得到以下错误:
$ phpunit
1) Tests\Feature\ExampleTest::testBasicTest
Error: Call to undefined method Tests\Feature\ExampleTest::get()
/Users/xxxx/dev/xxxx/tests/Feature/ExampleTest.php:12
我在tests/Feature/ExampleTest.php
的代码
<?php
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase
{
public function testBasicTest()
{
$response = $this->get('/');
$response->assertStatus(200);
}
}
我的代码在tests/TestCase.php
<?php
namespace Tests;
use PHPUnit\Framework\TestCase as BaseTestCase;
// use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
abstract class TestCase extends BaseTestCase
{
public function setUp():void { parent::setUp(); }
public function tearDown():void { parent::tearDown(); }
use CreatesApplication;
}
我做错什么了吗?
1条答案
按热度按时间tjjdgumg1#
正如一位用户所说,您正在使用基础PHPUnit类,您必须使用Laravel类,因为它添加了用于测试的内容...因此您的代码应该如下所示:
请,做lint/格式化你的代码,遵循标准...
在这里,没有必要覆盖
setUp
和tearDown
,因为您正在调用父级,这与没有在此文件中定义它们完全相同...