我有一个多模块项目,其中只有根模块有一个带有@springbootapplication的类。其他模块作为依赖项添加到根模块的pom文件中。为了测试其他模块,我创建了一个带有@springbootapplication注解类和其他测试类的模块(我们称之为测试模块),以在模块测试中运行spring上下文。我添加了测试模块作为对其他模块的依赖,但是当我使用maven运行测试时,spring上下文不会运行。如何正确添加?
项目结构:
---> root (this module starts spring context)
|
|--- moduleA
|
|--- moduleB
我想测试modulea和moduleb,所以我创建了一个测试模块,其中包含必需的依赖项和带有@springbootapplication注解的类
|--- test-module (module with @SpringBootApplication)
|
|---> moduleA (test-module as dependency in test scope)
|
|---> moduleB (test-module as dependency in test scope)
1条答案
按热度按时间cpjpxq1n1#
如果您的模块没有@springbootapplication,您应该在junit测试代码中使用@contextconfiguration而不是@springboottest。
首先,在/src/test下定义一个类,可能称为“testconfig”,使用@configuration和@componentscan导入要测试的bean。
其次,在junit测试的头中使用@contextconfiguration(classes={testconfig.class})。
下面是示例代码:
testconfig.java文件
junit测试