junit编写spring测试案例
项目结构:
│ pom.xml
│ spring-tomcat-jdbc.iml
│
└─src
├─main
│ ├─java
│ └─resources
│ config.properties
│ spring-context.xml
│
└─test
├─java
│ └─com
│ └─sxz
│ └─zxd
│ BaseTest.java
│ TomcatJdbcTest.java
│
└─resources
config.properties
spring-context.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" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:property-placeholder location="classpath:config.properties"/>
<context:component-scan base-package="com.sxz.zxd"></context:component-scan>
</beans>
注意:运行junit时候,配置文件都是在test/resources
下的,classpath:config.properties
这里指的是test/resources/config.properties
文件
BaseTest.java
文件:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
"classpath*:spring-*.xml"
})
public class BaseTest {
}
注意: 运行junit使用的配置文件都是在test/resources
文件夹下的。@ContextConfiguration
中写的locatioins
是classpath*:spring-*.xml
,而不是classpath:spring-*.xml
,classpath*:spring-*.xml
不仅加载test/resources
下的配置文件,而且也会加载java/resources
下的配置文件,因为这里的junit使用的spring-context.xml
文件和java/resources
下的一样,所以复用了java/resources/spring-context.xml
文件。如果配置文件加载不正确,可能会发生Bean不能注入的问题
TomcatJdbcTest.java
文件:
public class TomcatJdbcTest extends BaseTest {
}