0
点赞
收藏
分享

微信扫一扫

单元测试和Lambda表达式

单元测试

今天偶然了解了一个新的知识点,在单元测试的时候,不加载web相关的服务启动,加快启动时间,具体实现方式是使用了@SpringBootTest注解里的一个参数

代码如下:

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)

用到的参数名为:webEnvironment

作用:用来指定测试环境的类型,控制着应用程序上下文的创建和运行的web环境。

webEnvironment有几个可选类型

public static enum WebEnvironment {
        MOCK(false),//默认值,在模拟环境中不会启动真正的selvert容器,而是使用mock
        RANDOM_PORT(true),//在web服务器环境中运行测试,并随机选择一个可用的端口来绑定web服务器
        DEFINED_PORT(true),//在web服务器环境中运行测试,并使用应用程序默认的端口来绑定web服务器
        NONE(false);//在非web服务器环境中测试,不会启动任何服务器,也不会创建servelt环境

        private final boolean embedded;

        private WebEnvironment(boolean embedded) {
            this.embedded = embedded;
        }

        public boolean isEmbedded() {
            return this.embedded;
        }
    }

Lambda表达式

定义:一种用于创建匿名函数的简洁语法。

基本语法:(parameters) -> expression

重点:lambda可与 函数式接口(Functional Interface) 一起使用。函数式接口是指只定义了一个抽象方法的接口。举例:

@FunctionalInterface
public interface Callable<V> {
    /**
     * Computes a result, or throws an exception if unable to do so.
     *
     * @return computed result
     * @throws Exception if unable to compute a result
     */
    V call() throws Exception;
}

lambda表达式的优点:

  • 简洁性:相对于传统的匿名内部类,Lambda更加简洁明了,可以大大减少代码冗余。
  • 代码可读性:使代码更紧凑和流畅,提高代码的可读性和理解性。
  • 便于并行处理:Lambda可以方便的用于并行处理和多线程的环境中,提高程序的性能和效率。这里可以搭配stream流使用。


举报

相关推荐

0 条评论