テスト(スイートも含む)の際に、アノテーションで指定されたフィクスチャを実行させることができます。
※フィクスチャに関する詳細は
こちらを参照してください。
/**
* @fixture MyFixture1 MyFixture2
*/
class Unit_MyTest extends Sabel_Test_TestCase
{
public function testOne()
{
...
}
public function testTwo()
{
...
}
}
上記の場合、下記の順番で処理が行われます。
- Fixture_MyFixture1::upFixture()
- Fixture_MyFixture2::upFixture()
- Unit_MyTest::testOne()
- Unit_MyTest::testTwo()
- Fixture_MyFixture2::downFixture()
- Fixture_MyFixture1::downFixture()
もしテストメソッドごとにフィクスチャを実行したい場合は setUp(), tearDown() を利用し下記のようにすることができます。
class Unit_Test extends Sabel_Test_TestCase
{
protected static $myFixture1 = null;
protected static $myFixture2 = null;
public static function setUpBeforeClass()
{
self::$myFixture1 = new Fixture_MyFixture1();
self::$myFixture2 = new Fixture_MyFixture2();
}
public function setUp()
{
self::$myFixture1->upFixture();
self::$myFixture2->upFixture();
}
public function tearDown()
{
self::$myFixture2->downFixture();
self::$myFixture1->downFixture();
}
...
}
- Fixture_MyFixture1::upFixture()
- Fixture_MyFixture2::upFixture()
- Unit_MyTest::testOne()
- Fixture_MyFixture2::downFixture()
- Fixture_MyFixture1::downFixture()
- Fixture_MyFixture1::upFixture()
- Fixture_MyFixture2::upFixture()
- Unit_MyTest::testTwo()
- Fixture_MyFixture2::downFixture()
- Fixture_MyFixture1::downFixture()
スイートにアノテーションでフィクスチャを設定した場合、グループ化されたテスト群の前後でフィクスチャが実行されます。
/**
* @fixture SuiteFixture1 SuiteFixture2
*/
class Unit_MySuite extends Sabel_Test_UnitSuite
{
public static function suite()
{
$suite = new self();
$suite->add("Foo");
$suite->add("Bar");
return $suite;
}
}
/**
* @fixture MyFixture1 MyFixture2
*/
class Unit_Foo extends Sabel_Test_TestCase
{
public function testOne()
{
...
}
public function testTwo()
{
...
}
}
/**
* @fixture MyFixture1 MyFixture2
*/
class Unit_Bar extends Sabel_Test_TestCase
{
public function testOne()
{
...
}
public function testTwo()
{
...
}
}
- Fixture_SuiteFixture1::upFixture()
- Fixture_SuiteFixture2::upFixture()
- Fixture_MyFixture1::upFixture()
- Fixture_MyFixture2::upFixture()
- Unit_Foo::testOne()
- Unit_Foo::testTwo()
- Fixture_MyFixture2::downFixture()
- Fixture_MyFixture1::downFixture()
- Fixture_MyFixture1::upFixture()
- Fixture_MyFixture2::upFixture()
- Unit_Bar::testOne()
- Unit_Bar::testTwo()
- Fixture_MyFixture2::downFixture()
- Fixture_MyFixture1::downFixture()
- Fixture_SuiteFixture2::downFixture()
- Fixture_SuiteFixture1::downFixture()
関連項目