【问题标题】:simple grails rc1 integration test failure简单的 grails rc1 集成测试失败
【发布时间】:2011-10-29 14:26:09
【问题描述】:

我正在尝试运行一个非常简单的集成测试并不断收到此错误:

Caused an ERROR
No signature of method: com.ra.EquipmentTests.assertNotNull() is applicable for argument types: (com.ra.equipment.Equipment) values: [com.ra.equipment.Equipment : 1]
groovy.lang.MissingMethodException: No signature of method: com.ra.EquipmentTests.assertNotNull() is applicable for argument types: (com.ra.equipment.Equipment) values: [com.ra.equipment.Equipment : 1]
    at com.ra.EquipmentTests.testSomething(EquipmentTests.groovy:27)

有问题的课程和测试:

    class Equipment {
    static hasMany = [pixes: Pix]
    static constraints = {
    }
}
class Pix {
    def Equipment equipment
    static belongsTo = [Equipment]
    static constraints = {
    }
}



class EquipmentTests {
    @Before
    void setUp() {
        // Setup logic here
    }

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

    @Test
    void testSomething() {
        def equipment = new Equipment()

        //assertNull equipment.pixes
        assertNotNull equipment.save()
    }
}

我正在使用 Grails rc1 和 Groovy 1.7.8,令人尴尬的是,任何帮助都将不胜感激。

【问题讨论】:

    标签: grails groovy integration-testing


    【解决方案1】:

    您的测试类需要扩展其中一个 grails/groovy 测试类,例如

    GrailsUnitTestCaseGroovyTestCase

    这里有一些documentation

    【讨论】:

    • ...哎呀,做到了。我从来没有想过它,因为测试是由 IntelliJ ide 生成的。嗯,谢谢,这比我想象的要好。
    【解决方案2】:

    在 Grails 2.0 中,您应该使用 @TestFor(Equipment) 注释而不是扩展 GrailsUnitTestCase 或其他注释。

    Grails 1.3.x 及更低版本使用 grails.test.GrailsUnitTestCase 类 以 JUnit 3 风格进行测试的层次结构。 Grails 2.0.x 及更高版本 弃用这些测试工具,转而支持可以 应用于一系列不同类型的测试(JUnit 3、Junit 4、 Spock 等)没有子类化

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 2011-06-19
    • 1970-01-01
    • 2014-02-14
    相关资源
    最近更新 更多