我的测试代码如下
<?php
use app\models\UserSource;
class UserSourceUintTest extends \PHPUnit_Framework_TestCase
{
protected function setUp()
{
}
protected function tearDown()
{
}
// tests
public function testMe()
{
$params = [
'user_id' => 1,
'channel_id' => 2,
];
$this->assertTrue(UserSource::recordUserReg($params));
}
}
执行的时候会抱如下错误:
Unit Tests (1) --------------------------------------------------------------------------
E UserSourceUintTest: Me
-----------------------------------------------------------------------------------------
Time: 40 ms, Memory: 6.00MB
There was 1 error:
---------
1) UserSourceUintTest: Me
Test tests/unit/UserSourceUintTest.php:testMe
[Error] Class 'app\models\UserSource' not found
#1 UserSourceUintTest->testMe
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.
下代码为我参照官方的
Classical Unit Testing
Unit tests in Codeception are written in absolutely the same way as it is done in PHPUnit:
<?php
class UserTest extends \Codeception\Test\Unit
{
public function testValidation()
{
$user = User::create();
$user->username = null;
$this->assertFalse($user->validate(['username']));
$user->username = 'toolooooongnaaaaaaameeee';
$this->assertFalse($user->validate(['username']));
$user->username = 'davert';
$this->assertTrue($user->validate(['username']));
}
}
我的问题到底出在哪里?谢谢各位不吝赐教。
我也遇到过,已经use了,一直说找不到我的类,然后发现,在yii2下,单元测试的文件没有namespace,请教了同事,原来用codecept boostrap生成的test是没有namespace命名的,需要改配置,
,这两个配置都需要改


就知道的就这个两个配置,其他的不知道还需要改什么,反正我让同事把能用的tests发给我,我覆盖了。。