2016-09-08 14 views
0
public void publicMethod() { 
    for (i=1;i<10;i++) 
    privateMethod(); 
} 

private privateMethod() { 
    something... 
} 

Мне нужно написать тестовую пробку JUnit, чтобы проверить, сколько раз вызывается privateMethod().Как проверить номер вызова частного метода в общедоступном методе в Junit?

+0

Только для справки: я сомневаюсь, что вы услышите многое другое по своему вопросу; поэтому, пожалуйста, подумайте, стоит ли в какой-то момент принять мой ответ. – GhostCat

ответ

8

Вы не должны этого делать. Вы не пишете модульные тесты для проверки внедрения.

Ваши тесты гарантируют, что ваши общественные методы выполняют свой контракт. Таким образом, вы утверждаете, что возвращенные вещи ожидаются; или что последующие вызовы другим методам дают желаемый результат. Или вы, , ожидаете, что звонки, чтобы бросить определенные исключения. Или, третий вариант: вы ввели mocked объектов; который вы позже на подтвердите, что они видели метод, который вы указали заранее.

Но написание тестовых ящиков для проверки частных методов - это действительно плохая практика!

+0

должен быть принят. частные методы - это не то, что ваш класс предоставляет пользователям, так как он реализует то, что он предоставляет. –

+0

О, какой позор :) –

+0

Надеюсь, вы получите его, надеюсь, однажды взрослый возраст и будет таким же хорошим, как и вы, –