Jboot v3.9.19 发布,持续增强其的单元测试能力

栏目: 软件资讯 · 发布时间: 2年前

内容简介:Jboot 一个更简单的分布式、微服务框架。 Jboot是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架,帮助开发者降低微服务、分布式开发门槛。爽爽开发,快乐...

Jboot 一个更简单的分布式、微服务框架。

Jboot是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架,帮助开发者降低微服务、分布式开发门槛。爽爽开发,快乐生活。

到目前为止,Jboot 已经开源超过了 5 年的时间,迭代了 200+ 个版本,已经被超过 1000+ 公司在使用,其中包含了多个知名的上市公司,我们了解到的多个使用 Jboot 开发的产品,用户量超过 1亿 以上。

Jboot 从 v3.9.15 开始带来了基于 junit4 和 junit5 的单元测试能力。到目前 v3.9.19 提供的单元测试能力如下,而这些功能,并未依赖其他任何第三方单元测试框架:

  • 1、功能强大的 MockMvc 功能,可以用来测试 Controller、Interceptor、Handler 等
  • 2、在测试类里进行 @Inject ,可以用来测试 Service、或者 RPC 等。
  • 3、@MockMethod 注解的支持,可以用来 Mock 任何 AOP 方法。
  • 4、@MockClass 注解的支持,可以用来 Mock 任何的 AOP 类。
  • 5、自动 Mock 所以依赖接口等等...
  • 6、当 Controller 发生 404 错误,或者 500 错误,自动让 Junit 测试失败
  • 7、等等等等

凡是用过 Jboot 提供的单元测试功能都说,真的太好用了。 

以下是一个简单的 Jboot 单元测试示例:

@RunWith(JbootRunner.class)
@TestConfig(autoMockInterface = true)
public class OptionApiControllerTest {

    private static final MockMvc mvc = new MockMvc();

    @Test
    public void query() {
        mvc.get("/api/option/query?key=myKey").printResult();
    }



    @MockMethod(targetClass = UtmService.class)
    public void doRecord(Utm utm){
        System.out.println(">>>>>>>>>doRecord: " + utm);
    }
    

}

非常简单的几行代码、支持请求任何 URL 进行测试,自动对 UtmService.doRecord 方法进行 Mock,凡是遇到接口而没有实现类的进行自动 Mock... 总之:使用 Jboot 的单元测试,要比 Spring Stack 等其他任何框架都更加简单好用。

 

Jboot v3.9.19 更新内容如下(全是新增或优化):

  • 新增:@MockClass() 注解,用于多 AOP 的 Class 进行 Mock
  • 新增:MockMvc 新增 requestStartListener 和 requestFinishedListener 的支持
  • 新增:@TestConfig.devMode 和 @TestConfig.launchArgs 配置的支持
  • 新增:MockMvcResult.getContentAsJSONObject() 和 assertJson() 方法
  • 新增:MockHttpServletRequest 新增 addQueryParameter() 方法
  • 新增:@DefaultValue() 注解,用与对参数配置默认值
  • 新增:"jboot.sentinel.reqeustTargetPrefix" 配置的支持,用于配置 sentinel 对某些 url 进行拦截
  • 优化:优化控制台 action 的日志输出的性能
  • 优化:升级 JFinal 到最新版本
  • 优化:通过 MockMvc 进行单元测试的时候,若 Controller 发生 404 或者 500 等错误的时候,则不通过 junit 测试
  • 文档:添加验证器错误自定义渲染的相关文档
  • 文档:同步 junit 测试文档
  • 文档:修改 Sentinel 的里错误的配置文档

 

Jboot 开发文档:

http://www.jboot.io

同时,Jboot 官方也推出了收费的、企业级快速开发框架 JbootAdmin (如下图所示),关于 JbootAdmin 的功能详情或者演示,请咨询海哥。

Jboot v3.9.19 发布,持续增强其的单元测试能力

Maven 依赖:

<dependency>
    <groupId>io.jboot</groupId>
    <artifactId>jboot</artifactId>
    <version>3.9.19</version>
</dependency>

Hello World:

@RequestMapping("/")
public class HelloWorld extends JbootController {

    public void index(){
        renderText("hello world");
    }

    public static void main(String[] args){
        JbootApplication.run(args);
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Algorithmic Beauty of Plants

The Algorithmic Beauty of Plants

Przemyslaw Prusinkiewicz、Aristid Lindenmayer / Springer / 1996-4-18 / USD 99.00

Now available in an affordable softcover edition, this classic in Springer's acclaimed Virtual Laboratory series is the first comprehensive account of the computer simulation of plant development. 150......一起来看看 《The Algorithmic Beauty of Plants》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具