Я пишу модульный тест для метода с использованием PHPUnit. Метод, который я тестирую, вызывает вызов одного и того же метода на одном и том же объекте 3 раза, но с разными наборами аргументов. Мой вопрос аналогичен задаваемым вопросам here и herePHPUnit: как мне высмеять несколько вызовов методов с несколькими аргументами?
Вопросы, заданные в других сообщениях, связаны с издевательскими методами, которые принимают только один аргумент.
Однако мой метод принимает несколько аргументов, и мне нужно что-то вроде этого:
$mock->expects($this->exactly(3))
->method('MyMockedMethod')
->with($this->logicalOr($this->equalTo($arg1, $arg2, arg3....argNb),
$this->equalTo($arg1b, $arg2b, arg3b....argNb),
$this->equalTo($arg1c, $arg2c, arg3c....argNc)
))
Этот код не работает, потому что equalTo()
проверяет только один аргумент. Придав ему больше, чем один аргумент бросает исключение:
Довод # 2 из PHPUnit_Framework_Constraint_IsEqual :: __ конструкт() должен быть числовым
Есть ли способ, чтобы сделать logicalOr
насмешливый для метода с более чем один аргумент?
Заранее спасибо.
Вы не сформулировали вопрос (с реальными словами). Также вы не объяснили, почему добавленный вами код специально не работает для вас. Это может показаться излишним, но эта информация поможет сделать ваш вопрос более понятным и более легким для ответа. Мы не можем смотреть в ваш мозг. – hakre
@Thomas: Я пришел сюда, чтобы задать этот * точный вопрос, поэтому я обновил и поддержал ваше, надеюсь, вы не против. (И теперь мы играем в ожидающую игру ...) –
@drHannibalLecter thanks – Thomas