测试问题从grails 1.0.5升级到1.1.1

时间:2009-07-22 11:28:49

标签: testing grails

我最近升级到grails 1.1.1,虽然我的应用程序工作正常,但我的测试存在一些严重问题:

对于单元测试,一些模拟失败,似乎从域类调用方法的任何东西都不起作用,例如

def boolean isParameterized() {
    return (parameters != null && !parameters.isEmpty())
}

由控制器中的if语句调用,并且在控制器的测试中(扩展ControllerUnitTestCase)创建此模拟

reportDefinitionControl.demand.isParameterized { -> 
    return false
}

但是当我运行测试时,isParametrized是真的,因为模拟的实例将isParametrized为false,因为参数为空,这更加令人困惑。

对于我的集成测试,似乎应用程序无法编译,我收到错误消息,如

[INFO]编译错误:编译失败
[INFO]运行集成测试时出错:java.lang.ClassNotFoundException:project.alert.AlertTypeTests
[警告] java.lang.ClassNotFoundException:project.alert.AlertTypeTests

有人有任何提示吗?

2 个答案:

答案 0 :(得分:0)

也许groovy正在检查isParametrized是否为null,并且由于它包含闭包而得出结论。

你正在测试:
false == reportDefinitionControl.isParametrized()
false == reportDefinitionControl.isParametrized

答案 1 :(得分:0)

我认为你可能在'isParameterized'

之后缺少等号

reportDefinitionControl.demand.isParameterized = { - > return false}

问候。