Junit测试空方法

Sim*_*Guo 5 java testing unit-testing

我有一个叫做的类NullMetricsPublisher,里面有几个方法,比如其中一个void publish().由于类名已经表明该类应该什么都不做.该void publish()方法基本上是空的.

void publish() {
    // do nothing in this method
}
Run Code Online (Sandbox Code Playgroud)

但是,我们确实需要对它进行单元测试,确保方法内部没有任何逻辑.想知道如何知道如何在Java中测试类的空方法?

注意:为什么我们NullMetricsPublisher在第一名?我们还有另一个名为的类MetricsPublisher,它将度量标准发布到我们的度量服务.但是,在某些情况下,我们根本不想发布指标.现有的接口必须要求Publisher,因此,现在我们只需要添加NullMetricsPublisher类来实现Publisher.

Ste*_*ner 5

您无法通过单元测试来测试某个方法是否不执行任何操作。为了测试这一点,您需要检查是否没有发生任何可能发生的事情。有无数的事情可能发生。因此不可能为此编写单元测试。

您唯一可以测试的是特定操作不会发生,例如NullMetricsPublisher不会发送类似 的消息MetricsPublisher