idea spring-boot service层单元测试

一、加入依赖

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
    <version>4.12</version>
</dependency>
<!-- 单元测试注入依赖 -->
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>1.10.19</version>
</dependency>

二、创建单元测试

测试类的的命名规则一般是 xxxTest.java ;
测试类中测试的方法可以有前缀,这个看统一标准,所以有时候会发现别人的测试方法上有test前缀;
并且测试方法上加上注解 @Test。

使用 IDEA 中,选中当前类名,使用快捷键 ALT + ENTER(WIN),向下选则 Create Test 回车,即可进入生成测试类的选项中,再次回车,就快速的生成测试类。在这里插入图片描述
三、注入服务

 @Mock
 private IUserService;

四、例子

import com.test.service.IUserService;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.HashMap;
import java.util.Map;

@RunWith(SpringJUnit4ClassRunner.class)
public class ProjectBaseServiceImplTest {

//    @Autowired
    @Mock
    private IUserService userService;
    @Before
    public void setUp() throws Exception {
        System.out.println("Before");
    }
    @Test
    public void saveProjectBase() {
        Map<String,Object> map = new HashMap();
        map.put("userId","1234");
        map.put("userName","张三");
        map.put("userDes,"{\"test\":\"testtest\"}");
        try {

            int result = userService.saveUser(map);
            System.out.println(1);
        }catch (Exception e){
            e.printStackTrace();
        }
        System.out.println(2);

    }
}

JUnit中的注解

  • @BeforeClass:针对所有测试,只执行一次,且必须为static void
  • @Before:初始化方法,执行当前测试类的每个测试方法前执行。
  • @Test:测试方法,在这里可以测试期望异常和超时时间
  • @After:释放资源,执行当前测试类的每个测试方法后执行
  • @AfterClass:针对所有测试,只执行一次,且必须为static void
  • @Ignore:忽略的测试方法(只在测试类的时候生效,单独执行该测试方法无效)
  • @RunWith:可以更改测试运行器 ,缺省值org.junit.runner.Runner

单元测试类执行顺序

@BeforeClass –> @Before –> @Test –> @After –> @AfterClass

每一个测试方法的调用顺序为:

@Before–> @Test–> @After

猜你喜欢

转载自blog.csdn.net/qq_25598453/article/details/88815910