$ ../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类并通过插入带有表单的成员元素和所有内容来测试它,以确保我的模型和控制器工作正常,所以我完全无能为力。
答案 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/MemberTest
是unit
套件文件夹中的路径相对。