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 库在引导文件中创建测试数据。