- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个空的测试类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class FindHandlerTest extends AbstractJUnit4SpringContextTests {
@Test
public void testContext() {
Assert.assertNotNull(applicationContext.getBean("findHandler"));
}
}
当我尝试运行它时,我总是收到此错误:
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:308)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [de/business/handler/impl/FindHandlerTest-context.xml]; nested exception is java.io.FileNotFoundException: class path resource [de/business/handler/impl/FindHandlerTest-context.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:81)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1)
at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:280)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:304)
... 24 more
Caused by: java.io.FileNotFoundException: class path resource [de/business/handler/impl/FindHandlerTest-context.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
... 33 more
我的 Spring 配置:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" default-autowire="byName">
<bean id="findHandler" class="de.business.handler.impl.FindHandlerImpl" >
</bean>
与我的 Junit 类放在同一个包中。我真的不知道为什么我无法加载该文件?
感谢您的帮助
最佳答案
因为您没有在 @ContextConfiguration 中指定应用程序上下文文件的位置和名称,所以 Spring 正在查看默认位置和名称(以您的类命名)。您需要重命名应用程序上下文文件,或指定位置,如下所示:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/META-INF/spring/applicationContextTest.xml"})
public class FindHandlerTest extends AbstractJUnit4SpringContextTests {
}
关于java - SpringTest 中的 ContextConfiguration 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19519733/
假设我有一个这样的父测试类: @ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = { MyCus
如果我有 xml 配置文件,我会这样写: @ContextConfiguration(locations = "testContext.xml") 但是如果我通过注释标记我的bean,我必须写什么?
我有一个 spring 单元测试,它扩展了其他项目(tests-common)中的其他测试。我的上下文文件 (my-context.xml) 与 MyTest 位于同一包中。基本上下文文件(“base
我正在尝试创建某种集成测试环境,但当测试上下文框架没有为我的 bean 创建事务代理时遇到问题。我的代码: JUnit 类:FileServiceImplTest @RunWith(SpringJUn
我刚刚空降到一个 spring 项目中,他们不相信单元测试。 我正在尝试建立自己的单元测试环境。 我可以知道注释 @ContextConfiguration 指的是什么吗? @Repository 呢
我在我的项目中创建了一个新测试。对于这个,我使用了 @ContextConfiguration 和一个内部配置类,与测试在同一个类中。但是现在我的其他测试都失败了,因为它们正在使用新测试的配置。 这怎
我正在使用 @ContextConfiguration 注释来管理我的应用程序中的配置。创建配置以便它们仅提供由给定模块公开的 beans。因此,给定模块使用的一些 bean 不一定直接导入。示例:
我正在运行下一个测试: import static org.junit.Assert.assertEquals; import org.junit.Test; import org.junit.run
我使用以下配置进行数据库集成测试: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "class
我正在学习Java和Spring MVC。我找到了这段代码: @ContextConfiguration(locations = { "classpath: com/myname/spring/jun
我正在从我的存储库项目编写集成测试,它需要加载我的基础设施项目的 IT 测试上下文,但由于某些原因,它因一些奇怪的异常而失败 java.lang.ArrayStoreException: sun.r
在下面的测试类中 import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.fa
为了 DRY,我想在父类中定义我的 ContextConfiguration 并让我的所有测试类继承它,如下所示: 父类: package org.my; @RunWith(SpringJUnit4C
在我们的项目中,我们正在编写一个测试来检查 Controller 是否返回正确的模型 View @Test public void controllerReturnsModelToOverzi
我有这个空的测试类 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration public class FindHandlerTest
当我的测试类作为 JUnit Test 运行时,控制台显示: INFO: Neither @ContextConfiguration nor @ContextHierarchy found for t
我目前正在使用 springockito-annotations,这需要 @RunWith 和 @ContextConfiguration 注释才能工作。我想将这些注释放在我的测试的父类(super
我们有使用元注释的测试类: @WebAppConfiguration @ContextHierarchy({ @ContextConfiguration(locations = {"/web/
我遇到过这样的情况。我有一个 junit 测试类,因为我提到了 @ContextConfiguration但是该类从主/资源和其中包含的其他文件(DataSource.xml 和Hibernate.x
我想知道是否有一种方法可以减少我们当前为集成测试编写的样板文件的数量。 罪魁祸首是 ContextConfiguration,我们当前向其中发送了 7 个不同的字符串。 我们的一项测试如下所示(有效负
我是一名优秀的程序员,十分优秀!