【问题标题】:how to automate the functional testing in yii2?如何自动化yii2中的功能测试?
【发布时间】:2015-08-28 13:05:05
【问题描述】:

我使用 codecept 功能测试在 yii2 中测试我的 API。我将参数硬编码以进行这样的测试

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 或将这些参数保存在一个文件中并在我运行测试时分配给测试用例。我应该如何实现这一点?

【问题讨论】:

  • 我有同样的问题,如何在 yii2 中自动化功能测试?

标签: php yii yii2 functional-testing codeception


【解决方案1】:

您可以在 path/to/your/project/tests/codeception/config 中创建一个名为 params.php 的文件。然后将参数添加到新创建的文件中:

<?php
    return [
        'login.email' => 'check@check.com', 
        'login.password' => '111111'
    ];

在你的路径/to/your/project/tests/codeception/config/config.php 中放这个:

<?php
    return [
        'components' => [
            ...
        ],
        'params' => require(__DIR__ . '/params.php'),
    ];

在测试代码中使用它的方式与在常规 Yii 应用程序中调用参数的方式相同。不管是单元、功能等都无所谓

Yii::$app->params['user.login'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    相关资源
    最近更新 更多