В идеале я хотел бы использовать макетную среду, чтобы гарантировать унитарность теста. Я бы посмеялся над менеджером и дао.
Однако для этого потребуются разные конфигурации для класса контроллера остального, которые заставят его использовать другой менеджер в зависимости от того, находимся ли мы в тестовом контексте или в контексте приложения.
Моки определены в context-test.xml.
Вот что я сделал до сих пор:
Тест РестКонтроллер
Код: Выделить всё
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(locations = "classpath:/META-INF/spring/context-test.xml")
@WebIntegrationTest
public class MyRestControllerTest extends AbstractTransactionnalTest {
@Autowired
private IManager manager;
@Test
// my unit tests
}
Код: Выделить всё
@RestController
@SpringApplicationConfiguration(locations = {"classpath:/META-INF/spring/context-test.xml",
"classpath:/META-INF/spring/context-application.xml"})
@RequestMapping("/me")
class MyRestController {
@Autowired
private IManager manager;
// Content of my controller
}
- Я не знаю, как сообщить RestController, какой контекст использовать. (Я хочу использовать только один контекст за раз)
Подробнее здесь: https://stackoverflow.com/questions/402 ... ion-spring
Мобильная версия