Не удалось выполнить тест JUnit для проверки результата system.out.println

Я столкнулся с той же проблемой. Если вы размещаете угловую форму с обычной почтой, вы столкнетесь с этой проблемой, так как угловые не позволяют вам устанавливать значения для параметров в том виде, в котором вы использовали. Если вы получите значение «form.type», то вы найдете нужное значение. Вы должны опубликовать угловой объект, а не сообщение формы.

1
задан Evan M 27 March 2019 в 05:26
поделиться

2 ответа

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
ответ дан Dan King 27 March 2019 в 05:26
поделиться

Ожидаемая строка вывода, которую вы пытаетесь утвердить, должна быть

0 \ n1 \ n0 \ n

, поскольку существует println.

Метод исправленных юнит-тестов должен быть таким, как показано ниже.

    @Test
    public void test() {
        CountNumP2 cn = new CountNumP2();
        cn.countUpDown(0, 1);
        String output =  "0\n1\n0\n";
        Assert.assertEquals(output , outContent.toString());
    }
0
ответ дан LeoN 27 March 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: