编写被测试文件
1.Controller类
package com.example.demo.junit.spring.controller;
import com.example.demo.junit.spring.service.JunitDemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @ClassName JunitDemoController
* @Author zhaoguang
* @Date 2019/12/13
* @Version 1.0
*/
@RestController
@RequestMapping("junit")
public class JunitDemoController {
@Autowired
private JunitDemoService junitDemoService;
@RequestMapping("demo")
public int add(int a, int b){
return junitDemoService.add(a, b);
}
}
2. Service接口
package com.example.demo.junit.spring.service;
/**
* @ClassName JunitDemoController
* @Author zhaoguang
* @Date 2019/12/13
* @Version 1.0
*/
public interface JunitDemoService {
/**
*
* @param a
* @param b
* @return
*/
int add(int a, int b);
}
3. Service实现类
package com.example.demo.junit.spring.service.impl;
import com.example.demo.junit.spring.service.JunitDemoService;
/**
* @ClassName JunitDemoServiceImpl
* @Author zhaoguang
* @Date 2019/12/13
* @Version 1.0
*/
public class JunitDemoServiceImpl implements JunitDemoService {
@Override
public int add(int a, int b) {
return a + b;
}
}
编写单元测试
1. 测试Service实现类
package com.example.demo.junit.spring.service.impl;
import com.example.demo.junit.spring.service.JunitDemoService;
import org.junit.Assert;
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.junit4.SpringRunner;
import javax.annotation.Resource;
/**
* @ClassName JunitDemoserviceTest
* @Author zhaoguang
* @Date 2019/12/13
* @Version 1.0
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class JunitDemoServiceImplTest {
@Resource
private JunitDemoService junitDemoService;
@Test
public void testAdd(){
Assert.assertEquals(3, junitDemoService.add(1,2));
}
}
2. 测试Controller接口
package com.example.demo.junit.spring.controller;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.test.context.junit4.SpringRunner;
/**
* @ClassName JunitDemoControllerTest
* @Author zhaoguang
* @Date 2019/12/13
* @Version 1.0
*/
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class JunitDemoControllerTest {
@Autowired
private TestRestTemplate restTemplate;
@Test
public void testAdd(){
Assert.assertEquals("3", restTemplate.getForObject("/junit/demo?a={a}&b={b}", String.class, 1,2));
}
}