Codeception Cept测试_bootstrap变量

Igo*_*vić 12 codeception

Codeception默认_bootstrap.php文件状态:

<?php
// Here you can initialize variables that will be available to your tests
Run Code Online (Sandbox Code Playgroud)

所以我想在其中初始化一个变量:

<?php

$a = 5;
Run Code Online (Sandbox Code Playgroud)

但是,当我使用它时SomeAcceptanceCept:

<?php
// ....
$I->fillField('description', $a);
Run Code Online (Sandbox Code Playgroud)

我明白了: ErrorException: Undefined variable: a

我做var_dump_bootstrap.php,它确实在验收测试之前运行了一次,但是我的测试中没有变量.

我似乎无法找到任何关于此的文档.

我实际上是在尝试初始化Faker实例以在我的测试中使用.

小智 4

我发现这方面的文档非常混乱。我试图做同样的事情但无济于事。所以我最终使用 Fixtures 将其放入 _bootstrap.php 文件中:

use Codeception\Util\Fixtures;
use Faker\Factory;

$fake = Factory::create();
Fixtures::add('fake', $fake);
Run Code Online (Sandbox Code Playgroud)

(您还可以使用单独的fixtures.php 文件并将其包含在您的测试中。)

这允许你获取 faker 对象或其他类似的东西:

Fixtures::get('fake');
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果你查看Fixtures 文档,它实际上提到使用 Faker 库在引导文件中创建测试数据。