Grails: добавлены ли методы во время выполнения в тестах? - PullRequest
0 голосов
/ 12 октября 2011

Я пытаюсь протестировать контроллер, который, в частности, использует java.io.File и некоторые методы / атрибуты, внедренные Grails во время выполнения, например:

пустой fileItem TransferTo ()

Я получаю следующую ошибку:

No such property: empty for class: java.io.File

Некоторые методы легко реализуются:

def testFile = new File('test/unit/resources/TestScript.groovy')
File.metaClass.getFileItem = { -> testFile }
File.metaClass.isEmpty = { -> false }

Но другие - нет, поэтому мне интересно, есть ли способ позволить Grails добавитьих для меня?Насколько я понимаю, это делается в интеграционных тестах, но перемещение теста дает мне ту же ошибку.

Любая помощь приветствуется.

Спасибо

Джонас

Ответы [ 2 ]

0 голосов
/ 13 октября 2011

Правда, я не могу найти его и в javadocs. Наше действие похоже на листинг 6 на следующем сайте, который его использует:

http://www.ibm.com/developerworks/java/library/j-grails06099/index.html

И что интересно, я не получаю сообщение об ошибке со следующей строкой:

File.metaClass.isEmpty = { -> false }
0 голосов
/ 12 октября 2011

Ваш тестовый класс наследует от GroovyTestCase или от ControllerUnitTestCase? Для интеграционных тестов это должно быть GroovyTestCase.

...