gpt4 book ai didi

java - 如何为 Spring Boot 服务器初始化程序编写 Mockito 测试

转载 作者:行者123 更新时间:2023-12-01 17:52:49 24 4
gpt4 key购买 nike

有人可以告诉我如何为 ServletInitializer 编写 mockito 测试吗?

package com.home.service.project.HomeServiceProject;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(HomeServiceProjectApplication.class);
}

}

最佳答案

可以编写以下单元测试来确保 SpringApplicationBuilder使用正确的源类调用,并且该方法返回您传递给 configure 的相同实例.

@ExtendWith(MockitoExtension.class)
//@RunWith(MockitoJUnitRunner.class) for JUnit 4
class ServletInitializerTest {

@Mock
private SpringApplicationBuilder springApplicationBuilder;

@Test
public void testIt() {
ServletInitializer servletInitializer = new ServletInitializer();
when(springApplicationBuilder.sources(HomeServiceProjectApplication.class)).thenReturn(springApplicationBuilder);

SpringApplicationBuilder result = servletInitializer.configure(springApplicationBuilder);

verify(springApplicationBuilder).sources(HomeServiceProjectApplication.class);
assertEquals(springApplicationBuilder,result);
}

}

我仍然会质疑这个单元测试的值(value),而是尝试找到一种正确的方法来编写集成测试,以至少启动整个应用程序一次,以查看所有内容是否协同工作。

关于java - 如何为 Spring Boot 服务器初始化程序编写 Mockito 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60767858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com