2012-02-07 77 views
0

在Grails的1.3.7,我有一個領域模型是這樣的:Grails 2 - 在DbUnit中導致NO_SUCH_TABLE的域模型繼承?

abstract class A { 
    Long id 
    String a 

    static constraints = { 
     a(nullable:true) 
    } 
} 

class B extends A { 
    static mapping = { 
     table "my_table" 
     version false 
     columns { 
     id column: 'oid' 
     } 
    } 
} 

在1.3.7,我的測試中經過精磨。在升級到2.0.0 Grails的,但是,我打了以下內容:

| org.dbunit.dataset.NoSuchTableException: MY_TABLE 
    at org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:288) 
    at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:109) 
    at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79) 
    at org.dbunit.operation.TransactionOperation.execute(TransactionOperation.java:78) 

如果我取消繼承層次,依靠複製粘貼+,這些錯誤是「固定」。有什麼可能導致這種失敗?

回答

0

只是不要使用dbunit。無論如何,這是一個非常糟糕的測試策略。

0

似乎有2個dbunit插件。 One似乎並沒有更新爲almost 4 years,並且the other似乎沒有更新8個月,所以我猜他們不適用於2.0 ...

+0

我直接使用dbunit依賴 - 不是插件。 – 2012-02-07 18:07:09