【发布时间】:2019-08-10 21:27:41
【问题描述】:
变量$this->id在另一个函数中不可见testExemple
如果我将这个变量传递给一个不是从“测试”开始的普通函数而不是一个测试函数,那么一切都会正常工作。
我能以某种方式解决这个问题吗?
class LoginTest extends TestCase
{
protected $id;
public function testLogin()
{
$response = $this->json('post', 'auth/login',
['email' => 'admin@mail.com', 'password' => '12345678'])
->assertJsonStructure(['data' => ['id', 'name', 'email']]);
$response->assertStatus(201);
$userData = $response->getContent();
$userData = json_decode($userData, true);
$this->id = $userData['data']['id'];
}
public function testExemple()
{
echo($this->id);
}
}
【问题讨论】:
-
这个用例是什么?您的单元测试应该是独立的,并且不应该需要以前测试的状态
-
可以添加
setUp方法,每次测试前都会运行:phpunit.de/manual/6.5/en/fixtures.html
标签: php laravel unit-testing phpunit