在Yii2上运行PHPUnit TestCase(不是本机框架)

时间:2018-03-22 14:11:45

标签: yii2 phpunit yii2-advanced-app

我正试图在PHPUnit_Framework_TestCase上投放Yii2-advanced。通过作曲家在根目录中的文件夹PHPUnit中安装它。从那里我尝试用简单的测试进行测试,但我得到的是一个错误:

 phpunit TestLogin.php
PHP Fatal error:  Class 'dektrium\user\models\LoginForm' not found in Z:\toma\toma-metropizza\htdocs\frontend\models\LoginForm.php on line 8

Fatal error: Class 'dektrium\user\models\LoginForm' not found in Z:\toma\toma-metropizza\htdocs\frontend\models\LoginForm.php on line 8

来自TestLogin.php directroy的<{1}}文件:

PHPUnit

这是我的<?php require_once "vendor/autoload.php"; require_once "../frontend/models/LoginForm.php"; class TestLogin extends PHPUnit\Framework\TestCase { public function setUp() { $login = new LoginForm(); } public function testStatic() { $this->assertClassHasStaticAttribute('test', 'LoginForm'); } }

LoginForm.php

它扩展了基础dektrium用户模型。但似乎测试无法找到基本模型或其他东西。你能给我一些建议吗?我不想在测试中使用Yii2构建。想写我自己的。提前谢谢!

编辑直接结构:

<?php 

namespace frontend\models;

use Yii;
use \dektrium\user\models\LoginForm as BaseLoginForm;

class LoginForm extends BaseLoginForm
{
    public static $test = [];

    public function attributeLabels()
    {
        return [
            'login'      => Yii::$app->OutData->getLabel(208),
            'password'   => Yii::$app->OutData->getLabel(98),
            'rememberMe' => Yii::t('app','app.Remember me'),
        ];
    }
}

0 个答案:

没有答案