2015-06-19 4 views
-3

Будучи новым для jUnit, что я сделал до сих пор, это настройка моих зависимостей (т. Е. Создания объектов) внутри самих методов тестирования.jUnit Использование setUp и tearDown

Вопросы:

  1. Eclipse, издевается о неиспользуемых переменных, хотя. Это то, что setUp и tearDown предназначены для?

  2. Неправильно ли создавать объекты в пределах setUp, а затем null их через tearDown?

  3. Что такое другие варианты использования вышеуказанных методов?

  4. Какова цель работы с пре-люкс setUp и tearDown. Может ли кто-нибудь привести пример, когда это пригодится?

Cheers, Эндрю

+0

Я не уверен, почему этот вопрос имеет пустые голоса?, В соответствии с этим эта тема вопроса должным образом и охватывает весь аспект любого вопроса должен охватывать. – Simmant

ответ

1

Будучи новым для JUnit, что я сделал до сих пор является создание моих зависимостей (т.е. создание объектов) в рамках самих методов испытаний.

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

Eclipse издевается над неиспользуемыми переменными. Это то, что для setUp и tearDown?

Неиспользованные переменные не имеют ничего общего с методами setUp и tearDown. Вы должны либо использовать их, либо удалить их.

Это хорошая практика, чтобы создавать объекты в пределах нАлАдкИ

В некоторых случаях setUp метод (или в настоящее время @Before аннотацию) является необходимым. Обычно конструктор и встроенные инициализации будут работать так же хорошо. @Before аннотация полезна, если у вас есть наследование в ваших тестах или вы хотите использовать @Rule с во время инициализации.

, а затем аннулировать их через tearDown?

Это плохая идея. tearDown (или в настоящее время @After аннотация) следует использовать для очистки внешних ресурсов, таких как соединения и файлы, или для возврата изменений, внесенных в статическое состояние вашего приложения. Нет необходимости пустых полей, так как сборщик мусора все равно вернет их.

Какова цель работы с предустановленным комплектомUp и tearDown. Может ли кто-нибудь привести пример, когда это пригодится?

Иногда вы хотите поделиться некоторыми ресурсами между тестами. Например, медленно создавать соединения с базой данных. Сюжетные методы позволяют создавать их один раз для каждого пакета, а не один раз для каждого теста или для каждого тестового класса.

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