Grails 集成测试 : Domain Classes Not Functioning

标签 grails grails-orm sts-springsourcetoolsuite

我在 STS 中创建了简单的 Grails 插件项目。我正在使用 Spring Security Core 插件,它添加了一些域类。我创建了一个集成测试,它只是创建一个域类(用户)的实例,然后保存它。运行集成测试时出现以下错误:

Failure:  testSomething(com.resonance.rwp.core.tests.UserServiceTests)
groovy.lang.MissingMethodException: No signature of method: com.resonance.rwp.core.domain.User.save() is applicable for argument types: () values: []
Possible solutions: save(), save(boolean), save(java.util.Map), wait(), any(), wait(long)
    at com.resonance.rwp.core.tests.UserServiceTests.setUp(UserServiceTests.groovy:14)

我不明白,由于某种原因,域类似乎没有通过 GORM 映射。我遇到的所有事情都涉及人们尝试在单元测试中使用 GORM,但我肯定正在运行集成测试。非常感谢任何帮助。

这是源码,非常简单:

class UserServiceTests {

@Before
void setUp() {
    User user = new User(username: "Test");
    user.save();
}

@After
void tearDown() {
    // Tear down logic here
}

@Test
void testSomething() {
    fail "Implement me"
}
}

我还尝试将所有内容都转移到测试本身中。显然 setUp 方法失败了。

最佳答案

我在新生成的插件上也遇到了这个问题,发现问题是新生成的插件不依赖于 hibernate。我将以下内容添加到 BuildConfig.groovy:

plugins {
    runtime ":hibernate:$grailsVersion"
}

这导致问题消失。我对 Grails 不太熟悉,无法了解为什么错误消息暗示了 save 等持久性方法的实际存在,但至少我让它工作了:)

http://jira.grails.org/browse/GRAILS-9163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

关于Grails 集成测试 : Domain Classes Not Functioning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959081/

相关文章:

json - Grails:在映射构造函数中设置 transient 字段

java - 创建spring jsp的工具

java - Springsource Tool Suite 找不到站点

java - Eclipse (STS) 试图创建 appfuse-basic-jsf :RELEASE fails

grails - 在没有 html 和 body 标签的情况下在 grails 中渲染页面

tomcat - 设置在 Grails 中嵌入 Tomcat 以遵循符号链接(symbolic link)

grails - 为什么独特的好做法在 1 :1 relationships?

hibernate - GORM GPARS 集成测试

grails - 如何在用GGTS/Eclipse创建的Grails项目中替换依赖项?

grails - 引起多对多关注