JUNIT格式化输出

时间:2017-05-21 19:20:14

标签: java junit

我是Java的新手,并测试了一小段Java代码:

我有一个java程序,它像计算器一样工作,并以表格格式将输入/输出写入控制台 -

Inputs:
+-+-----+
| |1    |
+-+-----+
|A|1 + 1|
+-+-----+
Results:
+-+-------+
| |1      |
+-+-------+
|A|2.00000|
+-+-------+

任何人都可以帮忙学习如何编写JUNIT ASSERT语句来验证程序是否以正确的值以正确的值打印?

我正在进行黑盒测试,并且对代码中编写的代码/类/方法没有理解。

1 个答案:

答案 0 :(得分:1)

您可以编写真正测试您所测试的"类的测试"使用System.out打印预期输出(有关详细信息,请参阅here。)

更好方法:您的受测试类应该有一个方法,将预期内容返回为字符串

您的单元测试会调用这些方法,并将字符串与预期值进行比较。你知道,在现实世界中,打印到System.out并不重要或不会发生。因此,花费大量时间来测试 生产代码的方面并不是你从中获得太多的东西。

换句话说,合理的测试更像是:

@Test
public void testInputs() {
  Whatever underTest = new Whatever();
  underTest.add(1);
  asserThat(underTest.getResult(); is("|A|2.00000|"));
}

或类似的东西。