我刚开始学习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);
但是你怎么能做有条件的呢?假设some_method()
返回的值是 1,我们如何让 phpspec 查看正在测试的对象的另一个属性?
我正在做一个简单的骰子课。我希望每个掷骰子都返回并排列掷骰子的值和状态。如果掷骰子是最小值,则状态应该是“critical_miss”,如果掷骰子是最大值,状态应该是“critical_hit”。
所以,我想测试一下...
掷骰子。如果掷骰值为 1,掷骰值应介于 1 和 6 之间,掷骰状态应为“critical_miss” 如果掷骰值为 6,掷骰状态应为“critical_hit”
你能在phpspec中做这样的测试吗?
谢谢