169 похожих чатов

Господа погромисты, вопрос такой. Юнитесты. Замокал метод, как сделать так

чтобы при каждом вызове он возвращал рандомное значение?

$docServiceMock->expects(self::any())
->method('createPDFDocument')
->willReturn(random_int(1, 100500));

В коде он вызывается два раза и на оба раза возвращает один и тот же рандомный инт. Как сделать два разных инта при каждом вызове?

5 ответов

11 просмотров

->will($this->returnCallback()) или ->willReturnCallback(), чето такое было

Mixa- Автор вопроса
Pavel Chebotarev
->will($this->returnCallback()) или ->willReturnCa...

Абсолютно в дырочку $docServiceMock->expects(self::any()) ->method('createPDFDocument') ->willReturnCallback( fn (): int => random_int(1, 100500), );

А что вы этим хотите протестировать ?

Mixa- Автор вопроса
Algis Fateev
А что вы этим хотите протестировать ?

да функциональный тест приложухи гоняю, есть у меня сторонний сервис, который отвечает за генерацию и хранение финансовых документов. Ну и по ходу работы приложения пару-тройку раз дергается на генерацию доков, после чего возвращает айдишник сгенерированного документа. И вот столкнулся с тем, что замокав сервис таким образом, он мне возвращает один и тот же айдишник при каждом вызове. А приложуха падает - типа в моей бд неуникальные айдишники

Mixa
да функциональный тест приложухи гоняю, есть у мен...

ты понимаешь, что random_int срабатывает разок и передает свое значение функции willReturn. которая вообще не понимает и не знает про random_int.

Похожие вопросы

Обсуждают сегодня

Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Друзья, за кем?
Magic
12
А шо, ты этой библиотекой пользуешься?
Darkanronpa Dark Hole
10
Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
Или даже по-другому вопрос выстрою Есть ли вообще в electron'e для винды, возможность кнопки действий в нотификацию впихнуть ?
Андрей
7
приветы , подскажите что я не так сделал , почему у меня скрипт не работает в программе Revit ? ;Autohotkey_RU IfWinActive ("ahk_exe Revit.exe") ; только в открытом Revit Gu...
Anton Terentev
2
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Карта сайта