SpringCloud使用FeginClient编写单元测试

首先创建SpringBoot工程,引入SpringCloud相关的maven依赖

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-netflix-core -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-core</artifactId>
    <version>1.3.0.RELEASE</version>
</dependency>

编写相关接口

public interface UamUserStatusApi {

    @ApiOperation(value = "更新用户状态", tags = {"用户API"})
    @ApiResponses(value = { @ApiResponse(code = 200, message = "成功响应") })
    @RequestMapping(value = "/{userId}/status/update", produces = { "application/json" }, method = RequestMethod.GET)
    ApiResult<?> updateUserStatus(@ApiParam(value = "用户id", required = true) @PathVariable(value = "userId") String userId,
                                  @ApiParam(value = "工作状态code") @RequestParam(name = "code",required = false) String code);
}

具体接口实现(Controller)

public ApiResult updateUserStatus(@ApiParam(value = "用户id", required = true) @PathVariable(value = "userId") String userId,
                                         @ApiParam(value = "工作状态code") @RequestParam(name = "code",required = false) String code) {

        int result = statusService.updataUserStatus(userId,code);
        if (result >= 0){
            return Return2.success();
        } else {
            return Return2.paramError("api.uam.user.status.not.exist");
        }
    }

重点来了!

在test目录下创建测试类

添加相关注解

@RunWith(SpringRunner.class)
@SpringBootTest(classes= Application.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@EnableFeignClients(value = "link.test.client")

在client下建立一个client,继承测试的接口

@FeignClient(value="uam", url = RequiredParameters.LOCAL_URL + "/v1/users")
public interface UamUserStatusClient extends UamUserStatusApi {
}

建立Test类,将client引入

public class UamUserStatusTest extends BaseApplication {

    @Autowired
    private UamUserStatusClient statusClientclient;

    private static String USER_ID = "00006b3b-04ab-11e8-b87b-d00d270cbb56";

    private static final String code = "1";

    @Test
    public void updataUserStatusTest() {
        ApiResult result = statusClientclient.updateUserStatus(USER_ID,code);

        Assert.assertEquals(200, result.getCode());
    }
}

在对应方法上,右键~debug!即可实现单元测试

完成~

注:以上仅提供简单实现步骤,具体还需结合项目实际具体配置!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值