2012-01-16 4 views
0

В моих src, существует класс, который содержит методтестирования частных метод, разъяснение необходимости

public static boolean doExtensionsMatch(String s, String t) { 

Там нет ничего плохого с ним, за исключением того, что нет никакой необходимости для того, чтобы быть открытым. Он используется внутри класса, где он объявлен.

Это public Однако, поскольку некоторое время назад я чувствовал, что этот метод необходимо протестировать напрямую, и, таким образом, видимость для меня не работала private.

На данный момент:

  • Я предпочел бы не выбросить эти тесты. Однако, если я сделаю метод private, тесты станут непригодными.
  • я предпочел бы для тестов, чтобы оставаться в его текущей src-test папки, сохраняя тем самым отдельные места для источника и тесты

Итак, вы говорите мне, что я должен делать?

Должен ли я изменить метод на закрытый и удалить тесты?

ответ

1

Вы проверите интерфейс, чтобы доказать, что класс ведет себя так, как должен.

Так что частные методы не нуждаются в проверке, если они недоступны. И даже больше - вам не следует заботиться о том, как интерфейс работает, вы должны быть в порядке с результатами.

Вы проверяете поведение, а не реализацию.

+0

Мне это нравится. благодаря – JAM

0

Я бы предложил использовать частичные классы. Если ваши тестовые классы являются частичными классами тестируемого класса, они будут иметь доступ ко всем методам и переменным независимо от того, являются ли они общедоступными.

+0

Что вы подразумеваете под частичным классом? – JAM

+0

@JAM: он означает http://msdn.microsoft.com/en-us/library/wa80x488(v=vs.80).aspx, хотя я не согласен, что это хорошая идея. – zerkms

+0

Посмотрите эту страницу Я думаю, это поможет уточнить: [link] (http://weblogs.asp.net/ralfw/archive/2006/04/14/442836.aspx) – RobotMike

Смежные вопросы