Groovy тестовый класс с использованием @ContextHierarchy

Я использую Groovy для своего приложения Spring и пытаюсь использовать несколько конфигураций XML-компонентов внутри моего теста. Я пытался с помощью @ContextHierarchy но следующий пример использования не сработал:

@RunWith(SpringRunner)
@SpringBootTest
@ContextHierarchy({@ContextConfiguration("a.xml"), ContextConfiguration("b.xml")})
public class MyTest {

...

}

Я также попробовал:

@ContextConfiguration(locations={"a.xml", "b.xml"})

но это не сработало.

Насколько я понимаю, Groovy не нравится "{" "}", потому что он имеет другое значение....?

Как я могу написать Testclass в groovy с двумя заданными конфигурационными xmls?

1 ответ

Решение

Вы можете определить несколько источников конфигурации XML с @ContextConfiguration аннотаций. Допустим, у меня есть 2 XML-файла конфигурации, расположенных в src/main/resources - beans1.xml а также beans2.xml, Я могу использовать их в моем тесте с:

@ContextConfiguration(locations = ['classpath:beans1.xml', 'classpath:beans2.xml'])

Основное отличие от Java в том, что Groovy использует [] для массивов вместо Java {}, так как {} представляет закрытие Groovy.

Другие вопросы по тегам