繁体   English   中英

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

[英]How to write mockito test for spring boot server initializer

谁能告诉我怎么写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);
    }

}

可以编写以下单元测试以确保使用正确的源类调用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);
  }

}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM