search
LoginSignup
1

More than 5 years have passed since last update.

posted at

updated at

ModelのFixtureを任意のテストケースのみ実行する

CakePHPでPHPUnitを使っているときに毎回テストケース実行時にFixtureが実行されると、実行時間が長くなり非効率です。
そこで以下の手順でFixtureを任意のタイミングで実行することが可能です。

1.autoFixturesプロパティをfalseにする

CakeTestCase::$autoFixturesがtrueになっていると、CakeTestCase::setUpメソッドで毎回Fixtureの読み込みを行うので、これをfalseにします。

SampleFixture.php
public $autoFixtures = false;

2.Fixtureを読み込みたいタイミングでloadFixturesメソッドを実行

Fixtureを読み込みたいタイミングでテストメソッド内でCakeTestCase::loadFixturesメソッドを実行します。

SampleFixture.php
function testMethod_任意のタイミングでFixture実行 () {
    $this->loadFixtures('fixtureA', 'fixtureB');
}

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1