当前位置: 首页 > 知识库问答 >
问题:

如何用Spring Boot测试Maven模块项目

梁鸿风
2023-03-14

如果jar项目不包含启动程序,我如何测试它们?

示例JUnit测试用例头:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(StarterClassInDifferentProject.class)
...

共有1个答案

宗涵蓄
2023-03-14

我认为上下文测试应该是每个模块可用的,这样您就可以在早期发现电线和配置的问题,而不是依赖于您的完整的应用程序测试来发现它们。

我在同一个模块中用一个测试应用程序类解决了这个问题。确保这个主类在您的测试目录中。

@SpringBootApplication
public class TestApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
}

你的上下文现在应该可以工作了。

@RunWith(SpringRunner.class)
@ActiveProfiles(profiles = {Profiles.WEB_REST})
@WebMvcTest(EntityController.class)
@DirtiesContext
public class ServicesControllerTest {

    @Autowired
    private MockMvc mvc;

    @MockBean
    private Controller controller;

    @Test
    public void testAll() throws Exception {
        given(controller.process(null)).willReturn(null);

        mvc.perform(get("/").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk());
    }
}
 类似资料:
  • 父项目为demo-mybatis子模块为mybatis-dao、demo-service。demo-mybatis pom.xml如下: 4.0.0 pom mybatis-DAO Demo-service Demo-mybatis-app org.springframework.Boot spring-boot-starter-parent 2.3.2.release com.example D

  • 我正在我的querying-api模块中编写测试用例来测试我的API,并且我希望在测试开始用预定义的测试数据加载数据库之前运行我的数据库加载器服务,同时测试加载器是否仍然工作。但是,在运行时出现以下错误: 测试引用公共域定义库没有问题... 父POM文件: 数据库加载程序POM文件:

  • 我有一个多模块maven项目,包含三个模块、和 Core具有以下依赖项定义 我已经为所有三个模块添加了Java9定义,的如下所示: 但是,我不知道如何让的测试类能够在测试执行期间看到类。当尝试测试运行时,找不到类。 如果向的添加需要My.Project.TestUtils;的: 然后在编译时,我得到一个错误,即找不到模块(大概是因为它只是作为测试依赖项引入的)。 在Java9模块化的世界中,如何处

  • 我有根项目,然后是子模块。这些模块是相互依赖的,当我为一个模块运行maven测试时,它会抛出类未找到异常。 ProjectA --ProjectSubA --ProjectSubB --ProjectSubC(依赖项ProjectA和ProjectB) ProjectSubC有Maven测试,所以当它运行时,类在ProjectSubB和ProjectSubA中。现在如何解决这个问题。

  • 问题内容: 对于这篇文章的篇幅,我深表歉意,但是在不展示图片的情况下,我很难使其简洁。我最近继承了一个Maven 3.0多模块项目的build- master的工作。问题在于项目/模块的结构是一场灾难。从当前事物存储在Source Control中的方式(我们使用RTC)到模块的pom结构,我正在努力尝试每次完成完整的构建周期。 随着项目层次结构的发展,所有模块都被“扁平化”存储。即:一切都处于同

  • 我希望通过在所有模块构建和单元测试完成后从所有模块运行集成测试来加快对“简单”构建失败(编译错误和单元测试失败)的反馈。 你能提出一个实现这一点的好方法吗?