ドキュメントでは、YamlDataSetの使い方はこんな感じ。
PHPUnit Manual – 第8章 データベースのテスト
class YamlGuestbookTest extends PHPUnit_Extensions_Database_TestCase
{
protected function getDataSet()
{
return new PHPUnit_Extensions_Database_DataSet_YamlDataSet(
dirname(__FILE__)."/_files/guestbook.yml"
);
}
}
/_files/guestbook.yml
みたいなファイルを作りたくない場合はこうしてます。
protected function createInlineYamlDataSet($yaml)
{
$meta = stream_get_meta_data($tmp = tmpfile());
fwrite($tmp, $yaml);
return new PHPUnit_Extensions_Database_DataSet_YamlDataSet(
$meta['uri']
);
}
protected function getDataSet()
{
$yaml = <<<EOD
guestbook:
-
id: 1
content: "Hello buddy!"
user: "joe"
created: 2010-04-24 17:15:23
EOD;
return $this->createInlineYamlDataSet($yaml);
}
stream_get_met_data
のところは、自動的に削除される一時ファイルを作成してオープンしつつ、そのファイル名を取得しています。こちらが参考になります。