0

我正在遵循手册“使用 Yii1.1 和 PHP5 开发敏捷 Web 应用程序”,但我不知道,为什么测试 CRUD 失败,

在正确测试“数据库连接”(第 4 章)之后,它是从 Gii 正确创建的“实体 AR 类”,但在创建 testCRUD 时,输出返回是一个错误的断言,如下所示:

好的(1 个测试,0 个断言)

只是我在手册中没有遵循一个步骤,即创建 CDbConnection 类,因为测试连接没问题。此外,我检查了所有更改类 Test 和 main.php 文件,一切正常。

实体测试.php

class EntityTest extends CDbTestCase
{   
    public function testCRUD()
    {
    }
}

实体.php

    public function testCRUD()
    {
    $newEntity=new Entity;
    $newEntity->setAttributes(
        array(
                'name' => 'Test Entity 1',
                'description' => 'Test entity number one',
                'type_id' => 1,
                'location_lat' => 77,
                'location_lon' => 77,
                'create_time' => '2013-02-16 20:36:00',
                'create_user_id' => 1,
                'update_time' => '0000-00-00 00:00:00',
                'update_user_id' => 0,
            )
    );
    $this->assertTrue($newEntity->save(false));

    $retrievedEntity=Entity::model()->findByPk(1);
    $this->assertTrue($retrievedEntity instanceof Entity);
    $this->assertEquals('Salva la Prospe',$retrievedProject->name);
}           

干杯。

4

1 回答 1

1

测试在它自己的类中运行方法,它不会在它正在测试的对象中调用测试方法。

这解释了为什么它说 0 个断言。您的测试只是一个空方法。

只需将所有 testCRUD 代码从 Entity.php 文件移动到 EntityTest.php 文件,它就可以工作了。

于 2013-02-18T02:22:51.620 回答