Junit: java.lang.IllegalStateException: не удалось загрузить ApplicationContext

Я пытаюсь запустить тест Junit, чтобы проверить уровень обслуживания. Я использую Spring 4, hibernate 5.2.3 и JUnit 4.12. Я не знаю, почему я получаю это исключение при запуске тестового кода. Я пробовал все возможные способы выполнить код, но мне не удалось запустить тестовые примеры.

    java.lang.IllegalStateException: Failed to load ApplicationContext
        at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)
        at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)
        at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117)
        at org.springframework.test.context.support.DependencyInjecti...
 ...
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: missing behavior definition for the preceding method call:
LocalSessionFactoryBean.isSingleton()
Usage is: expect(a.foo()).andXXX()
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:175)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:127)....
...
    ... 25 more
Caused by: java.lang.IllegalStateException: missing behavior definition for the preceding method call:
LocalSessionFactoryBean.isSingleton()
Usage is: expect(a.foo()).andXXX()
    at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:42)
    at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:94)
    at org.easymock.internal.ClassProxyFactory$MockMethodInterceptor.intercept(ClassProxyFactory.java:97)
    at org.springframework.orm.hibernate5.LocalSessionFactoryBean$$EnhancerByCGLIB$$5f2c3f95.getObject(<generated>)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168)
    ... 38 more

Тестовый класс выглядит следующим образом:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/applicationContext.xml" })
public class TestClass{

    @Test
    public void testGetAge() {

        int age = HelperClass.getAge(Utiity.getCurrentDate());
        assertEquals(0, age);               

    }
}

applicationcontext.xml

> > <?xml version = "1.0" encoding = "UTF-8"?> <beans   xmlns = "http://www.springframework.org/schema/beans" 
>           xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
>           xmlns:p = "http://www.springframework.org/schema/p" 
>           xmlns:tx = "http://www.springframework.org/schema/tx"
>           xmlns:context = "http://www.springframework.org/schema/context"
>           xsi:schemaLocation = "            http://www.springframework.org/schema/beans 
>           http://www.springframework.org/schema/beans/spring-beans.xsd
>           http://www.springframework.org/schema/tx 
>           http://www.springframework.org/schema/tx/spring-tx.xsd
>           http://www.springframework.org/schema/context
>           http://www.springframework.org/schema/context/spring-context.xsd">
> 
>   <context:property-placeholder location = "/spring.properties" />
>       <bean id = "sessionFactory" class = "org.easymock.EasyMock" factory-method = "createMock">        <constructor-arg index = "0"
> value = "org.springframework.orm.hibernate5.LocalSessionFactoryBean" />
>   </bean>         <bean id = "dataSource" class = "org.easymock.EasyMock"
> factory-method = "createMock">      <constructor-arg index = "0"
> value = "org.springframework.jdbc.datasource.DriverManagerDataSource" />
>   </bean>

Он не может создать bean with name 'sessionFactory':. Попробуйте поиздеваться над этим. Также опубликуйте свой applicationContext.xml.

Sergei Sirik 12.12.2018 03:29

Пожалуйста, проверьте applicationcontext xml

Kevin Ceaser 12.12.2018 03:32

Проверьте путь к файлу applicationcontext.xml.

萝莉w 12.12.2018 03:35

путь к applicationcontext.xml - \ src \ test \ resources и путь к классу теста \ src \ test \ java \ package

Kevin Ceaser 12.12.2018 03:39

Попробуйте @ContextConfiguration(locations = {"classpath:applicationConte‌​xt.xml"}).

萝莉w 12.12.2018 03:43

он дает ту же ошибку :(

Kevin Ceaser 12.12.2018 03:48

Почему вы издеваетесь над LocalSessionFactoryBean? Обычно, делая подобные вещи, вы идете по ложному пути.

M. Deinum 12.12.2018 08:45
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
7
1 015
0

Другие вопросы по теме