2012-02-07 2 views
0

В Grails 1.3.7, у меня есть модель предметной области, как это:Grails 2 - Наследование доменной модели, вызывающее NO_SUCH_TABLE в DbUnit?

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, мои тесты проходят нормально. В обновлении до Grails 2.0.0, однако, я поражаю следующее:

| 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 напрямую, а не плагины. –