You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JUnit Jupiter的@CsvSource中传递空格作为参数值?

在JUnit Jupiter的@CsvSource中传递空格作为参数值的解决方法

默认情况下,JUnit Jupiter的@CsvSource会将仅包含空格的字段解析为null,所以你直接写" ,lastName"时,firstName会被赋值为null。不过@CsvSource完全支持传递空格作为有效参数值,只需通过以下两种方式实现:

方式一:用双引号包裹空格

通过双引号将空格包裹起来,明确告诉解析器这是一个有效字符串值,而非空字段:

@ParameterizedTest
@CsvSource({
        "\" \", lastName"
})
void test(String firstName, String lastName) {
    // 此时firstName的值为单个空格字符
}

如果需要传递多个空格,同样用双引号包裹即可,比如"\" \", lastName"。

方式二:修改nullValues配置

通过@CsvSource的nullValues属性,指定哪些字符串会被解析为null。默认情况下nullValues包含空字符串和仅含空格的字符串,我们可以将其改为只识别空字符串为null:

@ParameterizedTest
@CsvSource(value = { " ,lastName" }, nullValues = "")
void test(String firstName, String lastName) {
    // 此时firstName的值为单个空格字符
}

内容的提问来源于stack exchange,提问作者ka3ak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 21:52:34