3

CakePHP 3.x プラグインにフィクスチャをインポートしようとしています。テストを起動すると、常にエラーが発生します。

UserManager\Test\TestCase\Controller\UsersControllerTest::testProfile 例外 'Cake\Datasource\Exception\RecordNotFoundException' とメッセージ 'Record not found in table "users"

ここに UsersFixture.php があります:

namespace UserManager\Test\Fixture;
use Cake\TestSuite\Fixture\TestFixture;

class UsersFixture extends TestFixture {
    public $import = ['table' => 'users'];
}

テスト データベースで現在のユーザーが見つからないため、テストが失敗します。

users テーブルは正常に作成されたと思いますが、データはインポートされません。

もちろん、多くのユーザーが既存の users テーブルに記録されており、テストされたユーザー ID はこれらのレコードの 1 つです。

レコード数が常に 0 であるため、私の testIndex() メソッドも失敗します。

フィクスチャ テーブルに自分のレコードが含まれていないのはなぜですか?

4

2 に答える 2

9

Cake 3 ではレコードを確実にインポートできます。

テーブルに変更を加えるたびbin/cake bake fixture invoice_statuses -r --count 100 にこれを再生成する必要がありますが、何もないよりはましです。良い出発点を提供します。

条件を使用して、非常に特殊なフィクスチャを生成することもできます。

ここに画像の説明を入力

于 2015-11-18T19:59:34.503 に答える