1.今天我在看Spring实战这本书时,我看到了@RunWith(SpringJunit4ClassRunner.class)这样的单元测试
package com.xuefei.spring_pro.test; import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.xuefei.spring_pro.cdDemo.CDPlayConfig; import com.xuefei.spring_pro.cdDemo.CompactDisc; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = CDPlayConfig.class) public class CDPlayTest { @Autowired private CompactDisc cd; @Test public void cdShouldNotBeNull() { cd.play(); assertNotNull(cd); } }
就上网了解了一下
这种写法是为了让测试在Spring容器环境下执行。
Spring的容器环境是啥呢?
比如常见的 Service Dao Action , 这些个东西,都在Spring容器里,junit需要将他们拿到,并且使用来测试。
注解说明:
1)@RunWith:用于指定junit运行环境,是junit提供给其他框架测试环境接口扩展,为了便于使用spring的依赖注入,spring提供了org.springframework.test.context.junit4.SpringJUnit4ClassRunner作为Junit测试环境。
2)@ContextConfiguration({"classes=Congfig.clsss",classpath:applicationContext.xml"}) 这里可以用classes来直接导入同包下写的配置类。或者导入配置文件。
原文地址:https://www.cnblogs.com/lililixuefei/p/11874858.html
时间: 2025-01-13 10:35:26