• Java测试框架:分享常用的Java测试框架,如JUnit, TestNG等,包括单元测试,集成测试,性能测试等


    单元测试框架

    JUnit

     
    1. JUnit简介
      JUnit是一个开源的Java测试框架,用于编写和执行可重复的测试。它是Java开发人员的一个重要工具,用于进行单元测试、回归测试和模块化测试。JUnit提供了一种形式化的方式来编写测试用例,并通过这些测试用例核实代码的正确性。具有可预测的测试用例可以在开发过程中早期发现问题,提高代码的质量和稳定性。

    2. JUnit Annotations(例如@Test, @Before等)
      JUnit的核心是一组注解,它们用于表示和配置测试方法。以下是一些常见的JUnit的注解:

    • @Test: 表示一个测试方法,JUnit会对标注了@Test注解的方法进行测试。
    • @Before: 标记的方法会在每个单个@Test标记的方法之前运行,通常用来做一些测试前的准备工作。
    • @After: 标记的方法会在每个单个@Test标记的方法之后运行,通常用来做一些清理工作。
    • @BeforeClass: 标记的方法会在测试类开始前运行,且只运行一次,通常用来做一些只需初始化一次的工作。
    • @AfterClass: 标记的方法会在测试类结束后运行,且只运行一次,通常用来做一次性的清理工作。
     

    JUnit Assertions
            JUnit的断言方法用于核实被测代码的行为。如果断言条件为真,则断言成功,否则测试失败。以下是一些常见的JUnit断言方法:

    • assertTrue(): 确认条件为真。
    • assertFalse(): 确认条件为假。
    • assertEquals(): 确认两个值相等。
     

    使用JUnit创建并运行单元测试,创建JUnit单元测试的一般步骤如下:

    • 创建一个测试类,一般与被测的类在同一包下且名称以Test为后缀。
    • 在测试类中,为要测试的每个方法创建一个公开的void方法,并添加@Test注解。
    • 如果需要,可以使用@Before或@After注解来标记需要在每个测试前后运行的方法,或者用@BeforeClass或@AfterClass标记需要在所有测试前后只运行一次的方法。
    • 在每个测试方法中,使用断言方法(如assertEquals())来验证被测方法的结果。

    TestNG

     
    1. TestNG简介
      TestNG是一个广泛应用的Java测试框架,主要用于所有阶段的测试,包括单元、功能、端到端、集成等。TestNG的设计目标是更全面地覆盖测试类别,如单元测试、功能测试和端到端测试,总的来说,TestNG专为更灵活和强大的测试需求而设计。

    2. TestNG和JUnit的区别

      • TestNG提供更加灵活的测试配置,可以通过XML或者注解来配置测试。
      • TestNG支持数据驱动测试,允许程序开发者方便地编写数据集驱动的测试案例。
      • TestNG在测试套件、测试类和测试方法级别支持更为灵活的多线程运行测试。
      • TestNG有内置的报表特性,可以生成详细的HTML测试报表。
    3. TestNG Annotations(例如@Test, @BeforeTest等)
      TestNG使用注解来作为测试的元数据,这些注解能让你使用一个灵活而强大的测试框架。以下是一些常用的TestNG注解:

      • @Test:对应一个测试方法,TestNG会运行这个方法进行测试。
      • @BeforeTest:在当前测试类的所有@Test注解的测试方法运行之前,会先运行标记了@BeforeTest注解的方法。
      • @AfterTest:在当前测试类的所有@Test注解的测试方法运行之后,会运行标记了@AfterTest注解的方法。
      • @BeforeSuite, @AfterSuite: 用于在测试套件的开始和结束时执行。
    4. TestNG Assertions
      TestNG断言是为了检查代码在测试执行过程中的行为,一旦设定的条件返回false,那么测试就会停止并标记为失败。Assertions.assert*()方法可以进行断言。

    5. 使用TestNG创建并运行单元测试

      • 创建一个新的Java类读书测试类。
      • 在这个类中,添加标注有@Test注解的公共void方法来表示测试方法。
      • 如果有需要,可以使用@BeforeTest或@AfterTest注解来定义在每个测试方法运行前后应执行的方法。
      • 在测试方法内,使用Assertions类来进行断言,以检查你的代码行为。
      • 运行测试,TestNG会自动执行所有标记为@Test的测试方法,并报告
  • 相关阅读:
    NeuSpeech神经解码语言日报
    通信用多模光纤主要有哪些类型?OM1~OM5有什么区别
    GORM学习笔记
    基于C++的OpenCV项目实战——文档照片转换成扫描文件
    中国移动云能力中心(苏小研)--秋招面经(已offer)
    Android12 源码下载、编译和刷机
    vue的axios方法
    你知道数据库有哪些约束吗?
    Leetcode 75.颜色分类
    【编程之路】面试必刷TOP101:二分查找/排序(17-22,Python实现)
  • 原文地址:https://blog.csdn.net/weixin_37954941/article/details/138951109