чаши Грааля mockFor странность закрытия

Правильно,

таким образом, когда я настроил свою насмешку с помощью mockFor метода плагина тестирования, я ожидаю метод, который возвращает пустой указатель. Если я делаю

myControl.demand.theMethod {return null}

в отладчике значение, к которому я установил 'theMethod' результат вызова, является некоторым закрытием в отладчике.

Если я делаю

myControl.demand.theMethod {->return null}

значение является нулевым, как ожидалось.

Я не понимаю различия....

7
задан hvgotcodes 27 May 2010 в 16:30
поделиться

1 ответ

Надеюсь, я правильно сказал

В документации Groovy http://groovy.codehaus.org/Closures говорится, что «Замыкание без ->, т.е. {}, является Замыканием. с одним аргументом, который неявно назван 'it' ". .... «В некоторых случаях вам нужно создать замыкание с нулевыми аргументами, например, используя GString для создания шаблонов, определения свойства EMC и т. Д. Вы должны явно определить замыкание как {->} вместо простого {}»

По сути, ваш макет пытался использовать "return" в качестве аргумента. Вам нужно -> сказать «У меня нет параметров для передачи», а затем поместить то, что вы хотите, чтобы он возвращал, справа от стрелки

9
ответ дан 7 December 2019 в 03:12
поделиться