概要
- Testを作成中に遭遇したことのないエラーが発生し、手間取ったため備忘録として記載する
原因
@dataProvider
こちらを利用する方法を誤っていた
一通りの対策
少し古い記事ですが、@dataProvider
を利用していない場合は一度こちらを試したのちに試す方が良いかもしれません
対策
/**
* @test
* @dataProvider provideValidConditions
*/
public function testValidConditions($condition, $expectedResult)
{
// 省略
}
public static function provideValidConditions()
{
return [
// 省略
];
}
ざっくりこの形で利用していた。
この時、returnで返す値が固定値でない場合
にエラーが発生する
対策としては、constで定義した値を利用すること
などで初期化したタイミングで触れるようにすることである
setUpメソッド内で定義した場合も同様にエラーが発生するため注意が必要である
要は、テストでデータを挿入するのだから固定値を使えということだろう