Я пытаюсь использовать функцию let со скалярными значениями. Моя проблема заключается в том, что цена является двойной, я ожидал ИНТ 5.phpspec скалярное значение в let
function let(Buyable $buyable, $price, $discount)
{
$buyable->getPrice()->willReturn($price);
$this->beConstructedWith($buyable, $discount);
}
function it_returns_the_same_price_if_discount_is_zero($price = 5, $discount = 0) {
$this->getDiscountPrice()->shouldReturn(5);
}
ошибку:
✘ it returns the same price if discount is zero
expected [integer:5], but got [obj:Double\stdClass\P14]
есть способ, чтобы впрыснуть 5 с помощью функции LET?
это будет работать для сравнения, но я умножения возвращаемого значения в функции getDiscountPrice, поэтому он будет терпеть неудачу в функции getDiscountPrice, а не в тесте. литье в double в willReturn также терпит неудачу. – timg