Yii2为什么PhpStorm无法自动完成单元测试方法

时间:2019-01-03 06:44:16

标签: yii2

我的测试如下:

<?php

namespace backend\tests\unit;

use backend\modules\crm\models\CrmClient;

class ClientTest extends \Codeception\Test\Unit
{
    /**
     * @var \frontend\tests\UnitTester
     */
    protected $tester;

    public function testClientFields()
    {
        $client = new CrmClient();

        $client->setCompany('12345');
        $this->assertTrue($client->validate(['company']));
    }
}

但是输入$this->不会显示类似assertTrue, assertFalse这样的方法列表,例如这是正常现象,我可以告诉他们吗?谢谢!

1 个答案:

答案 0 :(得分:2)

您需要调用代码接收构建命令,例如。 ./vendor/bin/codecept build生成所有套件的基类。这样会生成辅助功能,其中包含文件夹/tests/_support/_generated/(基本测试文件夹结构)中的文档。

第二个解决方案: 将UnitTester变量传递给函数,然后使用它代替$this,例如:

public function testClientFields(UnitTester $I)
{
    $client = new CrmClient();

    $client->setCompany('12345');
    $I->assertTrue($client->validate(['company']));
}