Codeception:没有执行任何测试

时间:2016-01-20 05:42:39

标签: yii2 codeception

$ ../vendor/bin/codecept run codeception/unit/models/MemberTest.php
Codeception PHP Testing Framework v2.0.16
Powered by PHPUnit 4.7.7 by Sebastian Bergmann and contributors.

←[1mUnit Tests (0) ←[22m------------------------------
---------------------------------------------


Time: 2.99 seconds, Memory: 10.25Mb

←[30;43mNo tests executed!←[0m

我得到了[1m和30; 43m,但我不知道他们的意思,除非他们是一些基本没有意义的调试输出。

不确定是什么问题。我的意思是如果出现问题,他们应该更明确。这是我的MemberTest课程:

<?php

namespace tests\codeception\unit\models;

use yii\codeception\TestCase;
use app\models\Member;

class MemberTest extends TestCase {

public function basicTest()
{
    $John = Member::findOne(['nickname'=>'John']);
    $this->assertNotNull($John);
}

public function fixtures()
{
    return [
    'members' => 'app\tests\codeception\fictures\MemberFixture'
    ];
}

}

我还制作了一个夹具类,MemberFixture:

<?php 

namespace app\tests\codeception\fixtures;

use yii\test\ActiveFixture;

class MemberFixture extends ActiveFixture
{
    public $modelClass = 'app\models\Member';
}

数据类成员:

<?php

return [
    [
        'id' => 1,
        'firstName' => 'John',
        'lastName' => 'Bush',
        'email' => 'jb@hotmail.com',
        'username' => 'Warmonger',
        'password' => 'allo',
    ],
    [
        'id' => 2,
        'firstName' => 'Jane',
        'lastName' => 'Bush',
        'email' => 'jane@hotmail.com',
        'username' => 'PluckedFlower',
        'password' => 'allo',
    ],


];

我在更改unit.suite.yml文件后也运行了codecept build:

# Codeception Test Suite Configuration

# suite for unit (internal) tests.
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.

class_name: UnitTester
modules:
   enabled:
    - Asserts

我不知道出了什么问题。我正在使用Yii2,以防你还没弄明白。我更改了Member类并通过插入带有表单的成员元素和所有内容来测试它,以确保我的模型和控制器工作正常,所以我完全无能为力。

2 个答案:

答案 0 :(得分:2)

测试方法未执行,因为它不遵循命名约定 - 方法名称必须以“test”开头。

public function testBasic()
{
}

http://codeception.com/docs/05-UnitTests#Classical-Unit-Testing

答案 1 :(得分:0)

您应该使用以下命令运行单个测试:

../vendor/bin/codecept run unit models/MemberTest

其中unit的套件名称和models/MemberTestunit套件文件夹中的路径相对。