如何自动化 yii2 中的功能测试?
how to automate the functional testing in yii2?
我使用 codecept 功能测试来测试我的 API yii2.I 将参数硬编码以便像这样进行测试
use tests\codeception\backend\FunctionalTester;
$I = new FunctionalTester($scenario);
$I->wantTo('Check when authenticated');
$I->sendPOST('/login', ['password' => '11111111', 'email'=>'check@check.com']);
$I->seeResponseCodeIs(200);
$I->seeResponseIsJson();
$I->seeResponseContains('"result"');
$I->seeResponseContains('"message"');
$I->haveHttpHeader('Accept','application/json');
$I->seeResponseContains('"message":"OK"');
我想在 运行 通过 codecept 运行 功能 loginCept 测试用例时给出参数,或者在我 [=17= 时将参数保存在一个文件中并分配给测试用例] test.How 我应该实现这个吗?
您可以在 path/to/your/project/tests/codeception/config 中创建一个名为 params.php 的文件。然后在新建的文件中加入params:
<?php
return [
'login.email' => 'check@check.com',
'login.password' => '111111'
];
在你的 path/to/your/project/tests/codeception/config/config.php 中输入:
<?php
return [
'components' => [
...
],
'params' => require(__DIR__ . '/params.php'),
];
在您的测试代码中使用它,就像在常规 Yii 应用程序中调用参数一样。不管是unit, functional等等
Yii::$app->params['user.login'];
我使用 codecept 功能测试来测试我的 API yii2.I 将参数硬编码以便像这样进行测试
use tests\codeception\backend\FunctionalTester;
$I = new FunctionalTester($scenario);
$I->wantTo('Check when authenticated');
$I->sendPOST('/login', ['password' => '11111111', 'email'=>'check@check.com']);
$I->seeResponseCodeIs(200);
$I->seeResponseIsJson();
$I->seeResponseContains('"result"');
$I->seeResponseContains('"message"');
$I->haveHttpHeader('Accept','application/json');
$I->seeResponseContains('"message":"OK"');
我想在 运行 通过 codecept 运行 功能 loginCept 测试用例时给出参数,或者在我 [=17= 时将参数保存在一个文件中并分配给测试用例] test.How 我应该实现这个吗?
您可以在 path/to/your/project/tests/codeception/config 中创建一个名为 params.php 的文件。然后在新建的文件中加入params:
<?php
return [
'login.email' => 'check@check.com',
'login.password' => '111111'
];
在你的 path/to/your/project/tests/codeception/config/config.php 中输入:
<?php
return [
'components' => [
...
],
'params' => require(__DIR__ . '/params.php'),
];
在您的测试代码中使用它,就像在常规 Yii 应用程序中调用参数一样。不管是unit, functional等等
Yii::$app->params['user.login'];