Как новичок в разработке через тестирование, я только что столкнулся с проблемой. Мой тестовый класс начинается следующим образом:
@RunWith(SpringJUnit4ClassRunner.class)
@Transactional
@DirtiesContext
@ContextConfiguration(locations = {"/web-test.xml"})
public class XXTest {
@Autowired
XX xx;
@Autowired
HibernateTemplate template;
@Test
public void testSetGetXXValue() throws Exception {
final Map<String, YY> profilMap = new HashMap<String, YY>(2);
profilMap.put("1", new YY());
profilMap.put("2", new YY());
simpleCockpit.setValues(profilMap);
assertEquals(profilMap, simpleCockpit.getValues());
}
Как видите, первый тестовый метод изменяет класс XX с автопроводкой. Это влияет на все следующие методы тестирования, в которых XX имеет значения autowired.
Как я могу проверить геттер и сеттер из XX и убедиться, что XX имеет значения автопроводки для остальных методов теста?
Мысль:
- Сброс правильных значений в конце метода испытаний. Плохо, потому что, если геттер / сеттер не работают, это также не будет работать.
- Поместите первый тестовый метод в конце тестового класса. Плохо, потому что это делает тесты зависимыми от порядка их выполнения.
- Не тестируйте геттер / сеттер XX. Плохо, потому что метод получения / установки должен быть проверен, как и любой метод.
Спасибо за ваши ответы! Я уверен, что это простое решение ...:)
РЕДАКТИРОВАТЬ : Что касается вопросов, являются ли юнит-тестеры геттерами / установщиками или нет, я решил сделать это главным образом по причинам, изложенным в http://www.sundog.net/sunblog/posts/should-we-test-getters-and-setters/.