当前位置: 首页 > news >正文

新网站如何做优化每日一则小新闻

新网站如何做优化,每日一则小新闻,从零搭建企业网站,网站免费空间购买目录 什么是Junit? Junit的基础注解有哪些? 什么是参数化?参数化通过哪几种方式传输数据? 单参数 多参数 CSV文件获取参数 方法获取参数 测试用例执行顺序如何控制? 什么是断言assert?Assertions类…

目录

什么是Junit?

Junit的基础注解有哪些?

什么是参数化?参数化通过哪几种方式传输数据?

单参数

多参数

CSV文件获取参数

方法获取参数

测试用例执行顺序如何控制?

什么是断言assert?Assertions类的常用方法?

什么是测试套件?如何使用测试套件?


什么是Junit?

  • Junit是一个用于Java的单元测试框架,用于管理已经编写好的测试用例。

  • 使用时需要引入 Junit-jupiter-api 依赖。

  • Junit需要从注解、参数化和测试套件三个方面去理解。

<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.9.3</version>
</dependency>

Junit的基础注解有哪些?

  • @Test:用于表示该方法是一个测试用例,该注解通常不应该和@ParameterizedTest注解同时使用

  • @Disabled:忽略被该注解修饰的测试用例

  • @BeforeAll:执行所有测试用例之前,会调用该方法

  • @AfterAll:执行素偶又测试用例之后,会调用该方法

  • @BeforeEach:每一个测试用例运行之前,会调用该方法

  • @AfterEach:每一个测试用例运行之后,会调用该方法


什么是参数化?参数化通过哪几种方式传输数据?

  • 参数化是指在测试用例需要传入参数时,使用的传输手段

  • 使用时需要引入 junit-jupiter-params 依赖

<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-params</artifactId><version>5.9.3</version><scope>compile</scope>
</dependency>

参数化通过以下四种方式传输数据:

  • 单参数
  • 多参数
  • CSV文件获取参数
  • 方法获取参数

单参数

  • 使用 @ParameterizedTest 注解

  • 使用 @ValueSource 注解,在注解中填入需要传递的单个或多个测试用例

  • 通过方法参数接收,每次接收一个测试用例

@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
public void oneParameter(int i) {System.out.println("oneParameter: " + i);
}

多参数

  • 使用 @ParameterizedTest 注解

  • 使用 @CsvSource 注解,在注解中填入需要传递的多个测试用例

  • 通过方法参数接收,每次接收的测试用例数量由参数个数决定

@ParameterizedTest
@CsvSource(value = {"张三,12", "李四,13", "王五,14"})
public void multipleParameter(String name, int age) {System.out.println("csvFileParameter: " + name + "->" + age);
}

CSV文件获取参数

  • 使用 @ParameterizedTest 注解

  • 使用 @CsvFileSource 注解,传入 csv 文件

  • 在 resources 目录中,创建对应的 csv 文件,csv 文件每一行为一个参数,参数之间使用 ‘,’ 分隔

  • 通过方法参数接收测试用例,每次接收一行

test.scv
张三,12
李四,13
王五,14----------------------------------------------------------------@ParameterizedTest
@CsvFileSource(resources = "/test.csv")
public void csvFileParameter(String name, int age) {System.out.println("csvFileParameter: " + name + "->" + age);
}

方法获取参数

  • 使用 @ParameterizedTest 注解

  • 使用 @MethodSource 注解,指定方法名

  • 创建传输参数的方法发,方法必须为 static

  • 通过方法参数接收测试用例

public static Stream<Arguments> methodSource() {return Stream.of(Arguments.of("张三", 12),Arguments.of("李四", 13),Arguments.of("王五", 14));
}@ParameterizedTest
@MethodSource(value = "methodSource")
public void methodParameter(String name, int age) {System.out.println("csvFileParameter: " + name + "->" + age);
}

测试用例执行顺序如何控制?

  • 使用注解 @TestMethodOrder,不使用该注解时,测试用例的执行顺序是不确定的

  • 使用注解 @TestMethodOrder(MethodOrderer.OrderAnnotation.class) 修饰类,表示该类中的测试用例可更改优先级。

  • 再使用注解 @Order(优先级) 修饰方法,并将代表优先级的数字填入参数中,数字 1 表示最高优先级。

  • 使用注解 @TestMethodOrder(MethodOrderer.Random.class) 修饰类,表示该类中的测试用例将被随机执行


什么是断言assert?Assertions类的常用方法?

  • 断言表示结果必须符合预期,否则抛出异常,测试不通过。

  • 断言使用 Assertions 类。

Assertions 类的常用方法包括:

  • 断言相等:assertEquals()

  • 断言不等:assertNotEquals()

  • 断言为空:assertNull()

  • 断言不为空:assertNotNull()


什么是测试套件?如何使用测试套件?

  • 测试套件是用于将多个测试用例的类同时运行的工具(相当于将众多测试打包)。

  • 使用测试套件时,需要引入以下两个依赖:

    • junit-platform-suite :测试套件

    • junit-jupiter-engine :测试套件引擎

  • 使用注解 @Suite() 修饰类,表示启用测试套件。
  • 可以使用两种方式将测试用例打包为测试套件:
    • 可以通过 载入类名 运行测试用例:使用注解 @SelectClasses({类名.class...}) ,在注解中传入需要测试的类。
    • 可以通过 载入包名 运行测试用例:将多个测试用例类放入同一个包中,使用注解@SelectPackages({包名...}),在注解中传入需要测试的包。
<!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite -->
<dependency><groupId>org.junit.platform</groupId><artifactId>junit-platform-suite</artifactId><version>1.9.2</version><scope>test</scope>
</dependency><!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-engine</artifactId><version>5.9.2</version><scope>test</scope>
</dependency>

http://www.hkea.cn/news/989410/

相关文章:

  • 导航网站的广告怎么做的千锋教育官方网
  • etc网站开发票网站制作软件免费下载
  • 上海seo网站设计2022十大网络营销案例
  • 还有做网站的必要吗网站运营推广方案
  • 企业营销型网站建设厂家品牌搜索引擎服务优化
  • 学校网站建设计划怎么成为百度推广代理商
  • 普陀网站开发培训学校seo快速优化
  • 建一个商城网站多少钱免费的网站推广软件
  • 手机网站解决方案看网站搜什么关键词
  • 顺企网江西网站建设宜昌今日头条新闻
  • 坪山网站建设行业现状网页设计与制作代码成品
  • 网站建设需求文档模板下载学大教育一对一收费价格表
  • 小型网站怎样优化百度首页官网
  • 网站开发与iso9001关系百度上做推广怎么做
  • wordpress怎么设置导航镇江seo
  • 番禺建设网站服务软文写作网站
  • 有哪些专做自然风景图片的网站石首seo排名
  • 移动网站虚拟主机seo 排名 优化
  • 专业网站建设课程网站推广优化方式
  • 适合站长做的网站信息流广告投放工作内容
  • 做健身网站步骤网站建设网络公司
  • 武汉整站seo数据上云网站关键词优化怎么做的
  • 网站尾部网络seo推广
  • 建设一个公司网站需要什么知识网站网络推广优化
  • 政府高度重视网站建设怎么做网络推广
  • 自己做的网站是怎么赚钱免费ip地址网站
  • 郑州市政府网站集约化建设计划企业seo排名外包
  • 什么网站可以免费做护师题企业网站管理系统源码
  • 青岛专业餐饮网站制作国内搜索引擎排行榜
  • 域名有哪些seo站长之家