Я столкнулся с той же проблемой. Если вы размещаете угловую форму с обычной почтой, вы столкнетесь с этой проблемой, так как угловые не позволяют вам устанавливать значения для параметров в том виде, в котором вы использовали. Если вы получите значение «form.type», то вы найдете нужное значение. Вы должны опубликовать угловой объект, а не сообщение формы.
System.out.println добавит в строку символ перевода строки "\ n" после значения, которое вы передадите. System.out.print не добавляет символ перевода строки
Поскольку jUnit сообщает, что тест не пройден из-за того, что ожидаемая строка (та, которая в тесте) не имеет перевода строки в конце, как и настоящая строка (тот из outContent) делает.
Я не уверен, что ваш код правильный или нет, вы можете изменить использование print вместо println, но тогда следующий тест не пройдет:
@Test
public void testMoreThenOneOff() {
CountNumP2 cn = new CountNumP2();
cn.countUpDown(0, 2);
String output = "0\n1\n2\n1\n0";
assertEquals(output , outContent.toString());
}
Действительно зависит от того, кто вы пытаясь выполнить, но установка некоторых точек останова на результат outContent.toString () должна быть полезной.
Ожидаемая строка вывода, которую вы пытаетесь утвердить, должна быть
0 \ n1 \ n0 \ n
blockquote>, поскольку существует println.
Метод исправленных юнит-тестов должен быть таким, как показано ниже.
@Test public void test() { CountNumP2 cn = new CountNumP2(); cn.countUpDown(0, 1); String output = "0\n1\n0\n"; Assert.assertEquals(output , outContent.toString()); }