gpt4 book ai didi

java - JUnit 参数化测试显示换行符

转载 作者:行者123 更新时间:2023-11-30 07:52:51 25 4
gpt4 key购买 nike

这是 JUnit 的一个已知错误 Parameterized Tests如果您尝试显示换行符,将会失败:https://bugs.eclipse.org/bugs/show_bug.cgi?id=474465

import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(Parameterized.class)
public class Example {

private String actual;
private String expected;

public Example(String actual, String expected) {
this.actual = actual;
this.expected = expected;
}

@Parameters(name = "{0}") // can't do this ("\n" not allowed)
public static Collection<Object[]> testCollection() {
return Arrays.asList(new Object[][] {
{ "Hello\nWorld", "Hello\nWorld" }
});
}

@Test
public void test() {
assertEquals(expected, actual);
}

}

是否有任何已知的解决方法可以解决此问题?例如,是否有办法替换此处的换行符:@Parameters(name = "{0}"),但实际上不在测试本身中?

最佳答案

您需要对斜杠进行两次转义,例如 \\n

关于java - JUnit 参数化测试显示换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com