我有一个相对较小的 Java 库,它实现了几十个 bean(没有数据库或 GUI)。我创建了一个 Spring Bean 配置文件,其他 Java 项目使用它来将我的 bean 注入他们的东西。
我现在第一次尝试使用 Spring Test 将其中一些 bean 注入我的 junit 测试类(而不是简单地实例化它们)。
我这样做部分是为了学习 Spring Test,部分是为了强制测试使用我为其他人提供的相同 bean 配置文件。
在 Spring 文档中说我需要使用 Spring 附带的“TestContext”类创建一个应用程序上下文。我相信这应该在我通过测试类上的 @ContextConfiguration 注释引用的 spring XML 文件中完成。
@ContextConfiguration({"/test-applicationContext.xml"})
但是,没有提示要在文件中放入什么!
当我从 Eclipse 中运行我的测试时,它会出错,说“无法加载应用程序上下文”......当然。
更新:
这是 test-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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<description>Holds application context for testing of the domain module.</description>
<!-- Imports the uuid generator bean definitions -->
<import resource="resources/domain-uuid.xml"/>
</beans>
我的项目目录是这样的:
domain/
src/
main/
java/
resources/
test/
java/
resources/ (location of test-applicationContext.xml)
只是为了好玩,我还尝试通过“mvn clean test”从 mvn 命令行构建,但出现以下错误,这可能是我真正的问题:
package org.springframework.test.context does not exist
package org.springframework.test.context.junit4 does not exist
cannot find symbol
symbol: class ContextConfiguration
@ContextConfiguration({"/resources/test-applicationContext.xml"})
cannot find symbol
symbol: class SpringJUnit4ClassRunner
@RunWith(SpringJUnit4ClassRunner.class)