public function tearDown()
{
$this->browse(function (Browser $browser) {
$browser->click('#navbarDropdown')
->click('.dropdown-item');
});
parent::tearDown();
}
当我将tearDown()方法应用于我的测试类时,我收到一条错误消息the tearDown() must be compatible with Illuminate\Foundation\Testing\TestCase::tearDown()
我究竟做错了什么?
每次运行测试时我都需要登录。我想在setUp()方法中登录并在tearDown中再次注销,这样我就可以独立执行我的测试。
这是我的 setUp() 方法
use databaseMigrations;
public function setUp(): void
{
parent::setUp();
$this->seed('DatabaseSeeder');
$this->browse(function (Browser $browser) {
$browser->visit('/admin')
->type('email', '[email protected] /cdn-cgi/l/email-protection')
->type('password', 'admin')
->press('Login');
});
}
setUp() 方法工作得很好。即使我没有向tearDown()方法添加任何代码,除了parent::tearDown();
,我收到错误,那么我的tearDown() 方法做错了什么?
public function tearDown()
{
parent::tearDown();
}
你错过了: void
on tearDown()
:
public function tearDown(): void
{
parent::tearDown();
}
你有setUp()
正确,但是这两个方法作为父类的方法,需要兼容并省略: void
isn't.
每当您看到该错误时,最好检查您正在扩展的类的源代码。通过继承,即
照亮\基础\测试\TestCase.php
/**
* Setup the test environment.
*
* @return void
*/
protected function setUp(): void
{
...
}
...
/**
* Clean up the testing environment before the next test.
*
* @return void
*/
protected function tearDown(): void
{
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)