springboot 测试

本次测试基于 Spring Boot 展开,涵盖对 service 和 controller 的测试。其中对 service 的测试会启动容器进行,测试内容具有一定参考价值,原文转载自相关博客。

 

  本次测试使用的是springboot 中的测试

 

1.(对service 的测试)下面的测试。将会启动容器进行测试  

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)  // 随机端口
public class MyTest {

    @Autowired
    EquipmentFaultService service;

    @Test
    public void mytest(){
        EquipmentFaultModel equipmentFaultById = service.getEquipmentFaultById("619d79f2-6c77-42a3-b0e9-49c5ebf2fdef");
        Assert.assertNotNull(equipmentFaultById);
    }


}

2. controller  的测试

package com.hollysys.smartfactory.account;

import com.hollysys.smartfactory.account.system.model.vm.EquipmentFaultModel;
import com.hollysys.smartfactory.account.system.service.EquipmentFaultService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;

import static org.mockito.BDDMockito.given;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;


/**
 * Description:
 *
 * @author cy
 * @date 2019年06月12日 18:32
 * Version 1.0
 */
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class MyTest {

    @Autowired
    private MockMvc mvc;
    @MockBean
    EquipmentFaultService service;

    @Test
    public void mytest() throws Exception {
        // EquipmentFaultModel equipmentFaultById = service.getEquipmentFaultById("619d79f2-6c77-42a3-b0e9-49c5ebf2fdef");
        EquipmentFaultModel equipmentFaultModel = new EquipmentFaultModel();
        equipmentFaultModel.setAttdataPkid("1qqq");
        given(this.service.getEquipmentFaultById("sboot"))
                .willReturn(equipmentFaultModel);
        MvcResult mvcResult = this.mvc.perform(get("/equipment_fault/dda0ddf0-acff-4649-a17d-2544b316b408")).andDo(print())
                .andExpect(status().isOk()).andReturn();
        System.out.println("结果:"+mvcResult.getResponse().getContentType());
    }
}

 3. service   测试

@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional  // 添加事务之后,单元测试就会产生回滚
public class MyTest {

    @Autowired
    EquipmentFaultService service;

    @Test
    public void mytest() {
        // EquipmentFaultModel equipmentFaultById = service.getEquipmentFaultById("619d79f2-6c77-42a3-b0e9-49c5ebf2fdef");
        EquipmentFaultModel equipmentFaultById = service.getEquipmentFaultById("619d79f2-6c77-42a3-b0e9-49c5ebf2fdef");
        equipmentFaultById.setFaultType("1");
        String s = service.updateEquipmentFault(equipmentFaultById);
        Assert.assertEquals(s,"619d79f2-6c77-42a3-b0e9-49c5ebf2fdef");
    }
}

 

转载于:https://www.cnblogs.com/chengyangyang/p/11040563.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值