Springboot实战第八天:(1)spring的集成测试应用-2019-8-24

终于把之前落下的进度跟上了。

在我们Maven构建的项目中有很多目录,可能熟悉Maven的不一定熟悉这些个目录:

src/test/java(测试代码)     

 src/test/resources(测试资源)

区别于

src/main/java(项目源码)   

src/main/resources(项目资源)

本次博客主要是对集成测试的研究,废话不多说,上业务代码:

1,添加Spring测试包的依赖到pom中,


		
			org.springframework
			spring-test
		
		
			junit
			junit
			4.12
		
	

注意:1在此之前需要添加进去springboot的一些必要依赖包,完整的如下:


	
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework
			spring-webmvc
		
		
		
			org.springframework
			spring-test
		
		
			junit
			junit
			4.12
		
	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
			
				org.apache.maven.plugins
				maven-compiler-plugin
				3.1
				
					1.8
					1.8
				
			
		
		
			
				
				
					org.apache.tomcat.maven
					tomcat7-maven-plugin
				
				
					org.apache.maven.plugins
					maven-war-plugin
					2.6
					
						false
					
				
			
		
	

     2.需要添加进parent


		org.springframework.boot
		spring-boot-starter-parent
		1.5.2.RELEASE

2.编写测试实体类  在src/main/java(项目源码)   的源码

package com.amarsoft.springboot.test;

public class TestBean {
		private String	content;
		public  TestBean(String contnet){
			super();
			this.content=contnet;
		}
		public String getContent() {
			return content;
		}
		public void setContent(String content) {
			this.content = content;
		}
		
}

3,编写测试配置类   在src/main/java(项目源码)   的源码

package com.amarsoft.springboot.test;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

@Configuration
public class TestConfig {
		@Bean
		@Profile("dev")
		public TestBean devTestBean(){
			return new TestBean("from production profile");
		};
		@Bean
		@Profile("produc")
		public TestBean producTestBean(){
			return new TestBean("from production profile");
		};
}

4,编写测试类

在src/test/java(测试代码)  源码下   :

package com.amarsoft.springboot.test;

import org.junit.Assert;
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 com.amarsoft.springboot.test.TestBean;
import com.amarsoft.springboot.test.TestConfig;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={TestConfig.class})
@ActiveProfiles("dev")
public class DemoBeanIntegrationTests {
	@Autowired
	private TestBean testBean;
	@Test
	public void prodBeanShouldInject(){
		String expected="from production profile";
		String actual=testBean.getContent();
		Assert.assertEquals(expected, actual);
	}

}

 

Springboot实战第八天:(1)spring的集成测试应用-2019-8-24_第1张图片

运行结果:

当内容一致就不会报错

内容不一致就会报错

具体可以参考附件

 

你可能感兴趣的:(SpringBoot,Java,maven,junit,spring,springboot,test)