1
Это известная ошибка, что JUnit-х Parameterized Tests будет молча терпеть неудачу, если вы попытаетесь отобразить символ новой строки: https://bugs.eclipse.org/bugs/show_bug.cgi?id=474465JUnit параметризованные тесты Дисплей Newline
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' – ochi
Я потратил час, пытаясь выяснить, что не так, и вы решили мою проблему примерно через минуту ... спасибо :) –
Это называется« Я столкнулся с тем же вопросом раньше »(aka experience) - Рад, что я мог бы помочь – ochi