Я новичок в jUnit, и я запускаю тест на вывод при запуске программы.
Мой тест jUnit:
class Tests {
private final ByteArrayOutputStream outContent = new
ByteArrayOutputStream();
@BeforeEach
public void setUpStreams() {
System.setOut(new PrintStream(outContent));
}
@AfterEach
public void cleanUpStreams() {
System.setOut(null);
}
@Test
public void Test1() {
Mobile ios = new Mobile();
ByteArrayInputStream inContent = new
ByteArrayInputStream("".getBytes());
System.setIn(inContent);
Mobile.main(new String[0]);
System.setIn(System.in);
assertNotEquals("Welcome!"+System.lineSeparator(),outContent.toString());
}
}
Часть моей программы:
public class MobileApp {
public static void main(String[] args)
{
System.out.println("Welcome!");
}
}
Я ожидаю, что тест пройден, поскольку выходные данные должны быть одинаковыми. Однако после запуска теста происходит сбой, поскольку он показывает, что на самом деле ничего не было выведено. Я не уверен, почему это так, что любая помощь ценится.
Сравнение результатов после запуска теста