给出一个简单的测试方法,该方法被注释为@ParameterizedTest
,并通过注释@CsvSource
使用输入(例如@CsvSource({ "@", "*", "#", "?", "-", "$", "!", "0" }
)。在运行上述测试时,测试应在"#"
被测试后立即中断。在阅读stacktrace / exception时,我发现了以下内容:
org.junit.jupiter.params.shadow.com.univocity.parsers.common.TextParsingException: java.lang.IllegalArgumentException - Unable to skip 1 lines from line 2. End of input reached
Parser Configuration: CsvParserSettings:
...
CsvFormat:
Comment character=#
Field delimiter=,
Line separator (normalized)=\n
Line separator sequence=\r\n
Quote character='
Quote escape character='
Quote escape escape character=null
我想问题出在最后一个块(Comment character=#
)中:特定参数正在作为注释读取。如何更改此设置?
答案 0 :(得分:0)
您不能更改注释字符。
您可以将#
用单引号引起来,如下所示:
@CsvSource({ "@", "*", "'#'", "?", "-", "$", "!", "0" })
但是实际上您不应该对单个字符串使用@CsvSource
。
相反,只需使用以下内容:
@ValueSource(strings = { "@", "*", "#", "?", "-", "$", "!", "0" })