Junit.framework.AssertionFailedError: на данный момент больше нет ожиданий на "scp". Конец требований.

Выполняя интеграционный тест в grails 1.3.7, я издевался над методом scp, и произошло следующее исключение: junit.framework.AssertionFailedError: на данный момент больше нет ожиданий на "scp". Конец требований.

'scp' вызывается дважды. В первый раз, когда он сработал, второй выбрал исключение.

Ответ 1

Когда вы издеваетесь над методом, вы можете указать диапазон, который указывает, сколько раз вы можете вызвать метод. Из документации:

Затем вы указываете имя метода, который вы хотите высмеять, с дополнительным диапазоном в качестве аргумента. Этот диапазон определяет, сколько раз вы ожидаете, что метод будет вызываться, поэтому, если количество выходов выходит за пределы этого диапазона (слишком мало или слишком много), тогда будет выведена ошибка утверждения. Если диапазон не указан, предполагается значение по умолчанию "1..1", то есть метод должен быть вызван ровно один раз.

control.demand.scp(2..2){ file, todir, verb, pass -> return "" } 

Я не мог найти причину этой ошибки, поэтому я надеюсь, что это кому-то поможет.