1
這是一個已知的bug是JUnit的Parameterized Tests如果你試圖顯示換行符將失敗默默:https://bugs.eclipse.org/bugs/show_bug.cgi?id=474465JUnit的參數化測試顯示換行符
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}")
,但實際上並不在測試本身中?
嘗試雙逃避斜線? like'\\ n' – ochi
我浪費了一個小時,試圖弄清楚什麼是錯誤的,並且你在一分鐘內解決了我的問題......謝謝:) –
它被稱爲「我以前遇到過同樣的問題」(又名體驗) - 很高興我能幫上忙 – ochi