Для того чтобы проверить работу теста на основе AbstractJpaTests,есть 2 способа: запустить mvn test, либо запустить тест непосредственно из свое IDE, каковаой у меня является Eclipse.
Так вот если мы запускаем mvn test, то все прекрасно работает.
если же я запускаю тест из Eclipse посредством "Run As -> Junit Test", то тест почему-то проваливается выдавая исключение:
java.lang.IllegalArgumentException: Unknown entity bean class: class com.model.security.Account, please verify that this class has been marked with the @Entity annotation.
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.findInternal(EntityManagerImpl.java:291)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.find(EntityManagerImpl.java:133)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:193)
at $Proxy12.find(Unknown Source)
at com.phorm.oix.session.security.AccountServiceBean.find(AccountServiceBean.java:483)
at com.phorm.oix.session.security.AccountServiceBeanIntegrationTest.testFindById(AccountServiceBeanIntegrationTest.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.access$001(AbstractAnnotationAwareTransactionalTests.java:70)
at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests$1.run(AbstractAnnotationAwareTransactionalTests.java:186)
at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runTest(AbstractAnnotationAwareTransactionalTests.java:313)
at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runTestTimed(AbstractAnnotationAwareTransactionalTests.java:281)
at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runBare(AbstractAnnotationAwareTransactionalTests.java:182)
at org.springframework.test.jpa.AbstractJpaTests.runBare(AbstractJpaTests.java:174)
at org.springframework.test.jpa.AbstractJpaTests.runBare(AbstractJpaTests.java:255)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
мож кто сталкивался?
а то как-то из консоли не очень удобно каждый раз запускать.
--
заранее всем спасибо за ответ.
Здравствуйте, hl-man, Вы писали:
HM>если же я запускаю тест из Eclipse посредством "Run As -> Junit Test", то тест почему-то проваливается выдавая исключение:
Случаем не JUnit Plug-In Test?
Здравствуйте, rsn81, Вы писали:
R>Здравствуйте, hl-man, Вы писали:
HM>>если же я запускаю тест из Eclipse посредством "Run As -> Junit Test", то тест почему-то проваливается выдавая исключение: R>Случаем не JUnit Plug-In Test?
да вроде он самый. собственно запускаю через "Run As -> Junit Test". Скорее всего это оно и есть.
Здравствуйте, hl-man, Вы писали:
R>>Случаем не JUnit Plug-In Test? HM>да вроде он самый. собственно запускаю через "Run As -> Junit Test". Скорее всего это оно и есть.
А точно ли? Формат проектов какой? Отличаете Java Project от Java Plug-In Project? Где класс, который рефлексивно не находится, а где сам тест?
HM>имелись подобные проблемы?
Если запуск идет в рамках OSGi-модульности, то рефлексивный доступ к классам одного модуля из другого модуля надо специально разрешить специальной настройкой модуля. Только я пока не уверен, что у вас об этом проблема.
Здравствуйте, rsn81, Вы писали:
R>Здравствуйте, hl-man, Вы писали:
R>>>Случаем не JUnit Plug-In Test? HM>>да вроде он самый. собственно запускаю через "Run As -> Junit Test". Скорее всего это оно и есть. R>А точно ли? Формат проектов какой? Отличаете Java Project от Java Plug-In Project? Где класс, который рефлексивно не находится, а где сам тест?
HM>>имелись подобные проблемы? R>Если запуск идет в рамках OSGi-модульности, то рефлексивный доступ к классам одного модуля из другого модуля надо специально разрешить специальной настройкой модуля. Только я пока не уверен, что у вас об этом проблема.
Что касается проекта, то это просто Java project. Класс который не находится в проекте и класс теста в нем же.
такое ощущение что когда запускаешь тест в Eclipse то он чего-то "не довидит". Но что именно непонятно.