【发布时间】:2016-05-12 17:10:46
【问题描述】:
当我在 grails 3 中使用 Build-Test-Data 插件运行测试时,我看到以下错误。
groovy.lang.MissingMethodException: No signature of method: com...Item.save() is applicable for argument types: () values: [] Possible solutions: last(), wait(), any(), saveAll([Ljava.lang.Object;), saveAll(java.lang.Iterable), last(java.lang.String)
这通常是 .save() 或 .build() 我不是测试专家所以有人知道发生了什么吗?
更新
示例如下所示...
import grails.buildtestdata.mixin.Build
@Build(Author)
class AuthorUnitTests {
void testAuthorStuff() {
def author = Author.build()
...
}
}
我的代码看起来像...
@TestFor(Item)
@Build([Item])
class ItemSpec extends Specification
{
...
def "Blah Blah"() {
given:
Item i = Item.build(id: 1)
}
}
【问题讨论】:
-
如果是单元测试,那么
@Build(Item)应该在类级别使用,如插件文档中所示。 -
我有点困惑你能指出你所指的部分吗?我看到附录
-
通过上述更新,很明显您正在使用
@Build。它应该工作。您还必须手动分配id吗?
标签: grails integration-testing grails-plugin