2017-02-08 3 views
3

У меня есть класс под названием NullMetricsPublisher, внутри есть несколько методов, например один из них void publish(). Поскольку имя класса уже указывает, что класс ничего не должен делать. Метод void publish() по существу пуст.Junit Test Empty Method

void publish() { 
    // do nothing in this method 
} 

Однако мы хотим, чтобы модуль тестировал его, убедитесь, что внутри метода нет никакой логики. Интересно, кто-нибудь знает, как проверить пустой метод класса в Java?

Примечание: Почему мы NullMetricsPublisher в первую очередь? У нас есть еще один класс под названием MetricsPublisher, который публикует показатели для нашей службы показателей. Однако в некоторых случаях мы вообще не хотим публиковать показатели. Существующий интерфейс должен содержать Publisher, поэтому теперь мы просто добавили класс NullMetricsPublisher для реализации Publisher.

+0

Странный вопрос ... – CRazyProgrammer

+0

Почему это странно? потому что тест no ops-метод странный? –

+0

Скажу странный метод * – CRazyProgrammer

ответ

1

Вы не можете проверить, что метод ничего не делает с модульным тестом. Чтобы проверить это, вам нужно проверить, что ничего, что может случиться, не произойдет. Есть бесконечные вещи, которые могут произойти. Поэтому для этого невозможно написать единичный тест.

Единственное, что вы можете проверить, это то, что конкретных действий не происходит, например. NullMetricsPublisher не отправляет такие сообщения, как MetricsPublisher.