phpspec の学習を始めたばかりで、質問があります。値が他の値と等しいかどうかを確認できます。値がいくつかの値の間にあるかどうかを確認したい場合は、次のようなマッチャーを作成できます。
function getMatchers()
{
return [
'beBetween' => function ($subject, $min, $max) {
if ($subject >= $min && $subject <= $max) {
return true;
}
return false;
}
];
}
そして次のようなテストを行います
$this->some_method()->getValue()->shouldBeBetween(1,6);
しかし、どのように条件付きを行うことができますか? 返される値が 1 であるとしましょうsome_method()
。テスト対象のオブジェクトの別のプロパティを調べるように phpspec にどのように言えますか?
私は簡単なサイコロのクラスを作っています。そして、ダイスロールごとにロールの値とステータスを返し、配列する必要があります。サイコロの出目が最小の場合、ステータスは「critical_miss」になり、サイコロが最大の場合、ステータスは「critical_hit」になります。
だから、私はこれをテストしたい...
サイコロを振る。ダイスロールの値が 1 の場合、ダイスロールの値は 1 から 6 の間である必要があります。ダイスロールの値が 6 の場合、ダイスロールのステータスは「critical_miss」である必要があります。
phpspecでそのようなテストを行うことはできますか?
ありがとうございました