Типичный exmaple является:Как воссоздать только выбранный весенний контекст в весенних тестах?
@ContextConfiguration(locations = {
"classpath:someITTest-mock.xml",
"classpath:someITTest-context.xml",
"classpath:commons.xml"})
@Transactional
@RunWith(SpringJUnit4ClassRunner.class)
public class SomeITTest {
//...
}
Я найти способ воссоздать издевается во время испытаний. Очевидный способ использования DirtiesContext Но это приводит к воссозданию всех контекстов, когда нужно воссоздать только макет контекста.
Вот несколько примечаний:
- контекст с издеваться, кажется, будет загружен первый, потому что другие зависят контекста не имеют таких бобов.
- Когда создаются и вводятся макеты в зависимый контекст, возможно, невозможно использовать кеш-повторное использование .
Итак, есть способ воссоздать весенний контекст, где создаются издевательства, но оставить в другом кэшированном контексте?
Хотя вы правы только о контексте ребенка перезагрузке в вашем примере, это, вероятно, не решить исходную задачу. –
Я предполагаю, что 'commons.xml' полагается на beans, объявленный в' someITTest-mock.xml'. Таким образом, высмеиваемые бобы, объявленные в последнем, должны быть видны бобам, объявленным первым. Если вы предложили иерархию родитель-ребенок, это было бы невозможно. Родительский контекст не может видеть компоненты, определенные в дочернем контексте. –