SpringBoot如何进行代码测试
1、现在的程序里面已经实现了一个最为简单的控制器程序类。package com.gwolf;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controller@EnableAutoConfigurationpublic class SampleController { @RequestMapping("/") @ResponseBody public String index() { return "Greetings from Spring Boot!"; } public static void main(String[] args) { SpringApplication.run(SampleController.class, args); }}
2、从实际的项目角度来讲,必须要求考虑到代码的测试问题,且现在的程序代码属于SpringBoot,则需要在你的项目之中进行如下的pom.xml文件的变更。【springbootbase】修改pom.xml配置文件,追加SpringBoot测试支持类:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency>
3、只要进行java测试,最简单使用的就是junit,所以这个开发包一定要随测试一起导入。【springbootbase】建立一个测试程序类,现在是一个SpringBoot程序,所以需要使用注解:package com.gwolf.test;import com.gwolf.SampleController;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@SpringBootTest(classes = SampleController.class)@RunWith(SpringJUnit4ClassRunner.class)public class TestSampleController { }
4、classes = SampleController.class表示我们需要进行单元测试的程序类:
5、因为我们需要测试的程序是web程序,所以还需要加入注解:@WebAppConfiguration。package com.gwolf.test;import com.gwolf.SampleController;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.web.WebAppConfiguration;@SpringBootTest(classes = SampleController.class)@RunWith(SpringJUnit4ClassRunner.class)@WebAppConfigurationpublic class TestSampleController { }
6、现在springboot整体测试程序如下:package com.gwolf.test;import com.gwolf.SampleController;import junit.framework.TestCase;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.web.WebAppConfiguration;import javax.annotation.Resource;@SpringBootTest(classes = SampleController.class)@RunWith(SpringJUnit4ClassRunner.class)@WebAppConfigurationpublic class TestSampleController { @Resource private SampleController sampleController; @Test public void testIndex() { TestCase.assertEquals(this.sampleController.index(), "Greetings from Spring Boot!"); }}
7、运行单元测试类,查看测试类是否有绿色的条。