2011-10-29 9 views
1

私は非常に単純な統合テストを実行すると、このエラーを取得維持しようとしている:問題の簡単なGrailsのRC1統合テストの失敗

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を使って、これがどんな援助でも恥ずかしく思うようになりました。

答えて

1

あなたのテストクラスは

GrailsUnitTestCaseまたはGroovyTestCaseのように、Grailsは/ Groovyのテストクラスの一つを拡張する必要があります。

ここにいくつかはdocumentationです。

+0

...痛いです。テストがIntelliJ ideによって生成されたので、私はそれを考えるのは気にしませんでした。うーん、ありがとう、それは私が思ったよりも良いレッスンだ。 – vector

1

in Grails 2.0 GrailsUnitTestCaseなどを拡張する代わりに、@TestFor(Equipment)アノテーションを使用する必要があります。それをしなかった

Grails 1.3.x and below used the grails.test.GrailsUnitTestCase class hierarchy for testing in a JUnit 3 style. Grails 2.0.x and above deprecates these test harnesses in favour of mixins that can be applied to a range of different kinds of tests (JUnit 3, Junit 4, Spock etc.) without subclassing

+1

...なぜ統合テストの例がGroovyTestCaseを拡張するのですか? http://grails.org/doc/2.0.x/guide/testing.html#integrationテスト – vector

関連する問題