简单的grails rc1集成测试失败

时间:2011-10-29 14:26:10

标签: grails groovy integration-testing

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

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,因为这一切都令人尴尬,所有这些都是最受欢迎的。

2 个答案:

答案 0 :(得分:1)

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

GrailsUnitTestCaseGroovyTestCase

这是一些documentation

答案 1 :(得分:1)

Grails 2.0中的

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

  

Grails 1.3.x及以下版本使用了grails.test.GrailsUnitTestCase类   用于以JUnit 3样式进行测试的层次结构。 Grails 2.0.x及以上版本   弃用这些测试工具,转而使用mixins   适用于各种不同的测试(JUnit 3,Junit 4,   Spock等)没有子类化