Нужно ли сосредоточиться на тестировании "открытых" методов или "частных" методов в тесте JUnit? - PullRequest
3 голосов
/ 23 марта 2012

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

Ответы [ 4 ]

4 голосов
/ 23 марта 2012

Вам следует протестировать все, что является частью API.Если вы не используете рефлексию, это означает методы public / protected и пакетного уровня.

Понятно, что это мнение.Но это основано на опыте.Позвольте мне продолжить мое мнение.

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

  1. Сначала пишете тесты, включая в них общедоступные методы объекта тестирования, которые вы хотите иметь.Это поможет вам разработать полезный API.
  2. Затем вы пишете достаточно кода, чтобы пройти тесты.Это обеспечит вам 100% покрытие и отсутствие постороннего кода.
  3. Тогда вы будете проводить рефакторинг.

Пока вы не дойдете до стадии рефакторинга, у вас, вероятно, даже не будет никаких частных методов.

1 голос
/ 23 марта 2012

Вы тестируете поведение классов.Начните с публичного метода.Если вы охватите все состояния объекта , скорее всего, вы охватите приватные методы.Стремитесь к 100% государственному покрытию (просто оценка. На практике это невозможно сделать)

0 голосов
/ 23 марта 2012

Я сомневаюсь, что вы увидите множество частных методов, которые, как говорится, будут отображаться в методе, в котором задействованные переменные не должны изменяться извне / вне особых обстоятельств. При этом основное различие между публичным и частным - это доступность: к частному доступу можно получить только внутри класса, тогда как к общедоступному можно получить доступ вне класса.

0 голосов
/ 23 марта 2012

Зависит от вашей цели тестирования. В идеале вы хотите протестировать их все при 100% покрытии :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...