猿问

为什么 JUnit 测试方法需要为空?

我在很多地方都读过测试方法应该/必须是void,但没有人说这是什么原因。


我在MethodValidator 中发现以下检查没有注释/javadocs。


    if (each.getReturnType() != Void.TYPE) {

        errors.add(new Exception("Method " + each.getName()

                + " should be void"));

    }

那么为什么会这样void呢?


白衣染霜花
浏览 178回答 2
2回答

MYYA

这纯粹是一种设计选择。JUnit 不知道您的代码,因此如果您的方法返回某些内容,它就无法执行任何操作。因此,要么它应该丢弃返回值,要么要求您使用“void”方法。作者选择了后一个选项——你可以争辩说这稍微好一点,因为它不会让读者感到困惑。请注意,非@Test 方法可以自由地做任何他们想做的事情——它们没有这个限制。
随时随地看视频慕课网APP

相关分类

Java
我要回答