java - 将 WireMock Server 作为 SpringBoot 应用程序运行
问题描述
我是 WireMock 框架的新手。我的要求是将 WireMock 作为可以在 Spring Boot 应用程序上接受存根的服务器运行。我尝试使用 Spring Cloud Contract 依赖项,但这只能帮助我运行测试。在这方面,任何方向或样本都会有很大帮助。
解决方案
关键是在 application.yml 文件中设置 spring web-application-type: none 。这样当 Spring Boot 应用程序从 IDE 启动时,它会在 http 端口 8080 上运行 Wiremock,该端口在 jetty 服务器上内部运行
下面是 appplication.yml 文件
春天: 主要的: 网络应用程序类型:无 应用: 名称:应用 线模: 服务器: 文件:类路径:/__files 存根:类路径:/映射
下面是 SpringBoot 应用程序类
@SpringBootApplication
@Slf4j
@AutoConfigureWireMock()
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
log.info("Starting Application");
SpringApplication.run(Application.class, args);
}
@Bean
public Options wireMockOptions() throws IOException {
final WireMockConfiguration options = WireMockSpring.options();
options.port(8080);
return options;
}
}
请确保您有这些依赖项
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-contract-wiremock</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-contract-wiremock</artifactId>
</dependency>
推荐阅读
- android - Android 依赖 'com.google.firebase:firebase-iid' 的编译(19.0.0)和运行时(20.0.1)类路径有不同的版本
- c# - IBM MQ .Net Client v9.1.4 无法连接到 MQ 服务器 8.0.0.4 CompCode:2 原因:2059
- flutter - http请求中用户模型的属性返回null
- eclipse - 当我分叉 https://github.com/vandeseer/easytable 存储库时出现 Java 错误
- python - Django DRF:@permission_classes 不起作用
- memory - 如何在 gitlab-ci.yml 中指定作业的内存?
- c# - 隐藏 geckodriver 命令窗口 selenium c#
- linux - 在 Ubuntu Bionic 18.04 Xeon 上安装 docker
- javascript - 循环中的 AWS S3 CreateReadStream 仅读取和写入 1 个文件
- javascript - 使用 ref 专注于 Input 元素不起作用