我正在尝试测试一个控制器,特别是在运行时使用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为我添加它们?我的理解是这是在集成测试中完成的,但在那里移动测试会给我同样的错误。
任何帮助表示感谢。
由于
纳斯
答案 0 :(得分:0)
您的测试类是继承自GroovyTestCase
还是来自ControllerUnitTestCase
?
对于集成测试,它应该是GroovyTestCase
。
答案 1 :(得分:0)
是的,我也无法在javadoc中找到它。我们的操作看起来非常类似于以下网站上的清单6:
http://www.ibm.com/developerworks/java/library/j-grails06099/index.html
有趣的是,我没有得到以下行的错误:
File.metaClass.isEmpty = { -> false }