2

我正在尝试更新我的测试,因为我对我的服务类进行了更改。在我添加的服务方法中(“withNewSession”)

Domain.withNewSession {
  .. ...
  domain.save()
}

由于我使用的是“withNewSession”,因此在我的测试类中模拟了这个域,因此我得到了方法丢失异常。

4

2 回答 2

6

单元测试不允许使用 withNewSession 方法。在您的测试类中使用:

@org.junit.Before
void before() {
    DomainClazz.metaClass.static.withNewSession = {Closure c -> c.call() }
}
于 2013-02-03T15:56:10.950 回答
0

您应该使用集成测试而不是单元测试来测试持久性。仅在测试依赖于域类的控制器或其他类但域类不是被测类时才使用域类模拟。

于 2013-02-03T06:04:47.613 回答