AMI*_*SAI 1 java spring mockito spring-boot
有人可以告诉我如何编写mockito
测试吗ServletInitializer
?
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);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以编写以下单元测试,以确保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);
}
}
Run Code Online (Sandbox Code Playgroud)
我仍然会质疑这个单元测试的价值,而是尝试找到一种正确的方法来编写集成测试,以至少启动整个应用程序一次,以查看所有内容是否协同工作。
归档时间: |
|
查看次数: |
2943 次 |
最近记录: |