2011-05-02 120 views
0

我使用的是非常简单的域模型,像这样创造...Spring Roo的抽象子类--testAutomatically失败

entity --class ~.domain.Contact --abstract --inheritanceType TABLE_PER_CLASS 
entity --class ~.domain.Student --extends ~.domain.Contact --testAutomatically 
entity --class ~.domain.Family --extends ~.domain.Contact --testAutomatically 

然后我增加了几个字段每个类...

field string --fieldName firstName --class ~.domain.Contact 
field string --fieldName secondName --class ~.domain.Contact 
field string --fieldName firstName2 --class ~.domain.Family 
field string --fieldName secondName2 --class ~.domain.Family 

然后我自动生成的测试失败。这看起来像是一个bug,一个人看到了解决这个问题的方法,或者我不能在子类上使用--testAutomatically? (有点废话!)

(在早期阶段的百亩我失去信心,Grails是给我回电话......)

这里是我的堆栈跟踪...

[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building hostfamilyfinders 
[INFO] task-segment: [test] 
[INFO] ------------------------------------------------------------------------ 
[INFO] [aspectj:compile {execution: default}] 
[WARNING] advice defined in org.springframework.scheduling.aspectj.AbstractAsyncExecutionAspect has not been applied [Xlint:adviceDidNotMatch] 
[WARNING] advice defined in org.springframework.mock.staticmock.AnnotationDrivenStaticEntityMockingControl has not been applied [Xlint:adviceDidNotMatch] 
[WARNING] advice defined in org.springframework.mock.staticmock.AbstractMethodMockingControl has not been applied [Xlint:adviceDidNotMatch] 
[debug] execute contextualize 
[INFO] [resources:resources {execution: default-resources}] 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 4 resources 
[INFO] [compiler:compile {execution: default-compile}] 
[INFO] Nothing to compile - all classes are up to date 
[INFO] [aspectj:test-compile {execution: default}] 
[ERROR] Type mismatch: cannot convert from Contact to Student 
[ERROR] Type mismatch: cannot convert from Contact to Student 
[ERROR] Type mismatch: cannot convert from Contact to Student 
[ERROR] Type mismatch: cannot convert from Contact to Student 
[ERROR] Type mismatch: cannot convert from Contact to Student 
[ERROR] Cannot instantiate the type Contact 
[ERROR] The method findStudent(Long) is undefined for the type Contact 
[ERROR] The method findStudent(Long) is undefined for the type Contact 
[ERROR] The method findStudentEntries(int, int) is undefined for the type Contact 
[ERROR] The method add(Student) in the type List<Student> is not applicable for the arguments (Contact) 
[WARNING] advice defined in org.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect has not been applied [Xlint:adviceDidNotMatch] 
[WARNING] advice defined in org.springframework.mock.staticmock.AnnotationDrivenStaticEntityMockingControl has not been applied [Xlint:adviceDidNotMatch] 
[WARNING] advice defined in org.springframework.mock.staticmock.AbstractMethodMockingControl has not been applied [Xlint:adviceDidNotMatch] 
[WARNING] advice defined in org.springframework.mock.staticmock.AbstractMethodMockingControl has not been applied [Xlint:adviceDidNotMatch] 
[WARNING] advice defined in org.springframework.scheduling.aspectj.AbstractAsyncExecutionAspect has not been applied [Xlint:adviceDidNotMatch] 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Compiler errors : 
error at com.cicoders.com.hostfamilyfinders.domain.Student obj = dod.getRandomContact(); 
                 ^^^^^^^^^^^^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentIntegrationTest_Roo_IntegrationTest.aj:34:0::0 Type mismatch: cannot convert from Contact to Student 
error at com.cicoders.com.hostfamilyfinders.domain.Student obj = dod.getRandomContact(); 
                 ^^^^^^^^^^^^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentIntegrationTest_Roo_IntegrationTest.aj:65:0::0 Type mismatch: cannot convert from Contact to Student 
error at com.cicoders.com.hostfamilyfinders.domain.Student obj = dod.getRandomContact(); 
                 ^^^^^^^^^^^^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentIntegrationTest_Roo_IntegrationTest.aj:79:0::0 Type mismatch: cannot convert from Contact to Student 
error at com.cicoders.com.hostfamilyfinders.domain.Student obj = dod.getNewTransientContact(Integer.MAX_VALUE); 
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentIntegrationTest_Roo_IntegrationTest.aj:95:0::0 Type mismatch: cannot convert from Contact to Student 
error at com.cicoders.com.hostfamilyfinders.domain.Student obj = dod.getRandomContact(); 
                 ^^^^^^^^^^^^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentIntegrationTest_Roo_IntegrationTest.aj:105:0::0 Type mismatch: cannot convert from Contact to Student 
error at com.cicoders.com.hostfamilyfinders.domain.Contact obj = new com.cicoders.com.hostfamilyfinders.domain.Contact(); 
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentDataOnDemand_Roo_DataOnDemand.aj:21:0::0 Cannot instantiate the type Contact 
error at return Contact.findStudent(obj.getId()); 
       ^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentDataOnDemand_Roo_DataOnDemand.aj:42:0::0 The method findStudent(Long) is undefined for the type Contact 
error at return Contact.findStudent(obj.getId()); 
       ^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentDataOnDemand_Roo_DataOnDemand.aj:48:0::0 The method findStudent(Long) is undefined for the type Contact 
error at data = com.cicoders.com.hostfamilyfinders.domain.Contact.findStudentEntries(0, 10); 
                 ^^^^^^^^^ 
/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentDataOnDemand_Roo_DataOnDemand.aj:56:0::0 The method findStudentEntries(int, int) is undefined for the type Contact 
error at data.add(obj); 

/Users/charlieivie/Workspace/STS/hostfamilyfinders/src/test/java/com/cicoders/com/hostfamilyfinders/domain/StudentDataOnDemand_Roo_DataOnDemand.aj:67:0::0 The method add(Student) in the type List<Student> is not applicable for the arguments (Contact) 

[INFO] ------------------------------------------------------------------------ 
[INFO] For more information, run Maven with the -e switch 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 4 seconds 
[INFO] Finished at: Mon May 02 17:06:08 BST 2011 
[INFO] Final Memory: 22M/81M 
[INFO] ------------------------------------------------------------------------ 

回答