3.7 Spring高级话题: 测试
3.7 测试
1.测试的依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.18.RELEASE</version>
<scope>test</scope>
</dependency>
2.测试的配置
@RunWith(SpringJUnit4ClassRunner.class) //在Junit环境下提供Spring TestContext FrameWork
@ContextConfiguration(classes = TestConfig.class) //用来加载ApplicationContext配置,class属性是用来加载配置类
@ActiveProfiles(value = "pro")//用来声明活动的profile
举例:
1.Java配置
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
@Configuration
@ComponentScan("com.sgx.inspect.bug.test")
public class TestConfig {
@Bean
@Profile("dev")
public List getDevBean() {
System.out.println("初始化DevBean");
List list = new ArrayList();
list.add("dev");
return list;
}
@Bean
@Profile("pro")
public List getProBean() {
System.out.println("初始化ProBean");
List list = new LinkedList();
list.add("pro");
return list;
}
}
2.测试
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class) //在Junit环境下提供Spring TestContext FrameWork
@ContextConfiguration(classes = TestConfig.class) //用来加载ApplicationContext配置,class属性是用来加载配置类
@ActiveProfiles(value = "pro")//用来声明活动的偏好
public class TestMain {
@Autowired
private List list;
@Test
public void testLiat() {
System.out.println("测试:" + list.get(0));
}
}
3.输出
初始化ProBean
测试:pro