我是Java的新手,并测试了一小段Java代码:
我有一个java程序,它像计算器一样工作,并以表格格式将输入/输出写入控制台 -
Inputs:
+-+-----+
| |1 |
+-+-----+
|A|1 + 1|
+-+-----+
Results:
+-+-------+
| |1 |
+-+-------+
|A|2.00000|
+-+-------+
任何人都可以帮忙学习如何编写JUNIT ASSERT语句来验证程序是否以正确的值以正确的值打印?
我正在进行黑盒测试,并且对代码中编写的代码/类/方法没有理解。
答案 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|"));
}
或类似的东西。