0

マニュアル「Yii1.1とPHP5を使用したアジャイルWebアプリケーション開発」に従っていますが、なぜテストCRUDが失敗するのかわかりません。

正しくテストされた後、Giiから「エンティティARクラス」が正しく作成されました(第4章)が、testCRUDを作成する時点では、次のような誤ったアサーションが返されます。

OK(1テスト、0アサーション)

マニュアルでは従わなかった1つのステップがあり、CDbConnectionクラスを作成しました。これにより、testsConnectionは問題ありませんでした。その上、私はすべての変更クラスTestとmain.phpファイルをチェックし、大丈夫でした。

EntityTest.php

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

Entity.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 に答える