是否可以将beforeEach/beforeAll函数中的变量传递给我的测试?(Pest php)

hi3rlvi2  于 2023-09-29  发布在  PHP
关注(0)|答案(1)|浏览(124)

现在,我正在重写一些单元测试来使用Pest,并注意到每个测试都会创建一个新用户。测试需要创建用户返回的id。我想知道是否有可能将其放在Pest提供的beforeEach函数中,以便我可以在测试中访问此用户ID。
我想在我的测试中访问$user,这可能吗?如果是,如何进行?我注意到在JavaScript中如何使用Jest(这是类似的),你可以在BeforeEach之前初始化变量,但这似乎在php中不起作用。
帮助将不胜感激!

beforeEach(function () {
    $user = User::factory()->create();
});

test('Test that it shows finished tasks of company', function () {

// Do something with the user variable

//assertion

});
wtzytmuj

wtzytmuj1#

来自https://pestphp.com/docs/setup-and-teardown#beforeeach上的文档
像往常一样,beforeEach函数中的$this变量绑定到当前 *Test Case对象 *。因此,您可以与it和测试函数共享数据。

beforeEach(function () {
    $this->user = User::factory()->create();
});

test('Test that it shows finished tasks of company', function () {

// You should have access to the user variable as a property:

dump($this->user);

// assertion

});

相关问题