【发布时间】:2018-01-09 00:00:01
【问题描述】:
我有一个静态 void 方法,它根据输入的字符串打印出一条语句,然后返回。我正在尝试使用 jUnit 来确保打印语句对于给定的输入是正确的。
我尝试使用 assertEquals(expected, System.method("input"));
我收到错误“Assert 类型中的方法 assertEquals(Object, object) 不适用于参数 (String, Void)。”我理解这个错误,但我一直无法找出如何以不同的方式编写我的测试用例,以便我可以比较两者。
【问题讨论】:
-
如果您使用名称注释参数并且其中一个输入带有圆括号,例如@Parameters(name = "test({index})"),然后在 4.4 (Luna) 之前的 Eclipse 版本中名称会被截断。
-
您可能会这样做的方式是创建一个输出流,然后 System 类具有类似
setOut方法的东西,因此您的方法将直接写入流,然后您可以检查内容。我可以研究确切的方法,以后有时间再使用,或者你或其他人可以在此期间跟进。