简要记录一下JUnit测试时文件相关的信息。
首先需要定义一个测试相关文件 test-ctx.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.xsd>
<bean id="tempDir" class="org.junit.rules.TemporaryFolder" init-method="create" destroy-method="delete" />
<context:property-placeholder properties-ref="testProperties" order="1" />
<bean id="testProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean" >
<property name="properties" >
<props>
<prop key="file.path">#{tempDir.getRoot().getAbsolutePath()}</prop>
</props>
</property>
</bean>
</beans>
接着定义一个File相关的bean:
<?xml version="1.0" encoding="UTF-8"?>
<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.xsd>
<bean id="fileWriter" class="org.kd.FileWriter" >
<construcotr-arg value="${file.path}" />
</bean>
</beans>
至此我们就可以在Test Case中使用这些配置:
@RunWith(SpringJunit4ClassRunner.class)
@ContextConfiguration(
locations = {
"classpath:spring/test-ctx.xml"
"classpath:spring/file-writer.xml"
}
)
public class FileTestCase {
@Autowired
public TemporaryFolder tmpFolder;
@Autowired
public FileWriter fileWriter
}