首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JUnit 5-当参数是用户定义的类时,带有@CsvSource的参数化测试默认显示名称

JUnit 5是Java语言中用于单元测试的一个开源测试框架。它提供了丰富的功能和灵活的扩展性,可以帮助开发人员编写高效、可靠的单元测试。

参数化测试是JUnit 5中的一个重要特性,它允许我们通过不同的参数运行同一个测试方法,从而减少代码冗余并增加测试覆盖率。当参数是用户定义的类时,我们可以使用@CsvSource注解来指定参数化测试的输入数据。

@CsvSource是JUnit 5中用于指定CSV格式数据源的注解。CSV是一种常用的数据格式,它以逗号分隔不同的值,每一行代表一个数据集。在参数化测试中,@CsvSource注解可以将CSV格式的数据源作为参数传递给测试方法。

对于带有@CsvSource的参数化测试,默认显示名称是根据测试方法的名称和参数值生成的。如果我们想自定义显示名称,可以使用@DisplayName注解来指定。

以下是一个示例代码,演示了如何使用@CsvSource进行参数化测试,并自定义显示名称:

代码语言:txt
复制
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class MyParameterizedTest {

    @DisplayName("自定义显示名称示例")
    @ParameterizedTest(name = "{displayName} - 参数: {0}")
    @CsvSource({"1, 2", "3, 4", "5, 6"})
    void myParameterizedTest(int a, int b) {
        int sum = a + b;
        assertEquals(7, sum);
    }
}

在上面的示例中,我们使用@DisplayName注解来指定显示名称为"自定义显示名称示例"。通过{name}占位符,我们可以在显示名称中引用测试方法的名称。通过{0}占位符,我们可以引用第一个参数的值。

对于这个问答内容,腾讯云没有特定的产品与JUnit 5直接相关。然而,腾讯云提供了一系列云计算产品和服务,可以帮助开发人员构建、部署和管理他们的应用程序。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Spring学习笔记(二十八)——springboot单元测试&JUnit5

    Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库 作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。由三个不同子项目的几个不同模块组成。 JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage * JUnit Platform: Junit Platform是在JVM上启动测试框架的基础,不仅支持Junit自制的测试引擎,其他测试引擎也都可以接入。 * JUnit Jupiter: JUnit Jupiter提供了JUnit5的新的编程模型,是JUnit5新特性的核心。内部 包含了一个测试引擎,用于在Junit Platform上运行。 * JUnit Vintage: 由于JUint已经发展多年,为了照顾老的项目,JUnit Vintage提供了兼容JUnit4.x,Junit3.x的测试引擎。

    01
    领券