我在很多地方都读过测试方法应该/必须是void,但没有人说这是什么原因。我在MethodValidator 中发现以下检查没有注释/javadocs。 if (each.getReturnType() != Void.TYPE) { errors.add(new Exception("Method " + each.getName() + " should be void")); }那么为什么会这样void呢?
2 回答
MYYA
TA贡献1868条经验 获得超4个赞
这纯粹是一种设计选择。JUnit 不知道您的代码,因此如果您的方法返回某些内容,它就无法执行任何操作。
因此,要么它应该丢弃返回值,要么要求您使用“void”方法。作者选择了后一个选项——你可以争辩说这稍微好一点,因为它不会让读者感到困惑。
请注意,非@Test 方法可以自由地做任何他们想做的事情——它们没有这个限制。
添加回答
举报
0/150
提交
取消