Будучи новым для JUnit, что я сделал до сих пор является создание моих зависимостей (т.е. создание объектов) в рамках самих методов испытаний.
Если они инициализированы и очищены правильно, в этом подходе нет ничего плохого. Вы должны сделать это таким образом, если разные тесты нуждаются в разных зависимостях.
Eclipse издевается над неиспользуемыми переменными. Это то, что для setUp и tearDown?
Неиспользованные переменные не имеют ничего общего с методами setUp и tearDown. Вы должны либо использовать их, либо удалить их.
Это хорошая практика, чтобы создавать объекты в пределах нАлАдкИ
В некоторых случаях setUp
метод (или в настоящее время @Before
аннотацию) является необходимым. Обычно конструктор и встроенные инициализации будут работать так же хорошо. @Before
аннотация полезна, если у вас есть наследование в ваших тестах или вы хотите использовать @Rule
с во время инициализации.
, а затем аннулировать их через tearDown?
Это плохая идея. tearDown
(или в настоящее время @After
аннотация) следует использовать для очистки внешних ресурсов, таких как соединения и файлы, или для возврата изменений, внесенных в статическое состояние вашего приложения. Нет необходимости пустых полей, так как сборщик мусора все равно вернет их.
Какова цель работы с предустановленным комплектомUp и tearDown. Может ли кто-нибудь привести пример, когда это пригодится?
Иногда вы хотите поделиться некоторыми ресурсами между тестами. Например, медленно создавать соединения с базой данных. Сюжетные методы позволяют создавать их один раз для каждого пакета, а не один раз для каждого теста или для каждого тестового класса.
Я не уверен, почему этот вопрос имеет пустые голоса?, В соответствии с этим эта тема вопроса должным образом и охватывает весь аспект любого вопроса должен охватывать. – Simmant