Задать вопрос
@nyatmeat15

PHPUNIT expects не сбрасывается между методами, как победить?

В setUp создаю мок класса

protected function setUp(): void
	{
		parent::setUp(); // TODO: Change the autogenerated stub
		$this->importMock = $this->getMockBuilder(WriteoffsImportService::class)
			->disableOriginalConstructor()->getMock();
		}

После этого в методе задаю проверку на исполнение 1 раз
$this->importMock->expects(self::once())->method('importWriteoffs');

Тест выполняется, все замечательно
В следующем тесте задаю точно также
$this->importMock->expects(self::once())->method('importWriteoffs');
Но при попытке выполнить тест, мне пишет что метод не может быть исполнен более 1 раза.
Каким образом сохраняется состояние если мок инициализируется в setUp по новой и как сделать так, чтобы для каждого теста проверка на количество выполнений была разной, а не одна на весь класс?
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Средний 4 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
сбрасывать после выполнения в методе tearDown() и/или использовать опцию globals-backup
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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