我正在尝试使用以下存根点击 WireMock,但查询参数似乎没有匹配。这是回应:
Request was not matched
=======================
-----------------------------------------------------------------------------------------------------------------------
| Closest stub | Request |
-----------------------------------------------------------------------------------------------------------------------
|
GET | GET
/mpp-pricing/v1/agreements\?accountId=.* | /mpp-pricing/v1/agreements?accountId=5388afaf-ee3d-44ed-a<<<<< URL does not match. When using a regex, "?" should be "\\?"
| b2a-0035156bb0a2
|
Run Code Online (Sandbox Code Playgroud)
这是我使用的存根:
{
"request": {
"method": "GET",
"urlPathPattern": "/mpp-pricing/v1/agreements\\?accountId=.*"
},
Run Code Online (Sandbox Code Playgroud) 我正在使用 JAVA DSL 通过 Wiremock 录制应用程序,我们可以选择自定义映射文件名吗?而不是获取从wiremock生成的文件名..
示例:searchpanel_arrivalairport_th-72f9b8b7-076f-4102-b6a8-aa38710fde1b.json(使用java生成的wiremock)我期望上面的文件名具有我想要的命名约定,例如
seacrpanel_airport_LGW.json
我使用“spring-cloud-contract-wiremock”依赖项将 WireMock 构建为 Spring Boot 应用程序。我将映射和 _files 保存在 src/test/resources 文件夹中。
当我从 IDE 运行该应用程序时,它运行良好。但是当我直接运行 Jar 时,它给出了 fileNotFoundException。
<pre>java.lang.RuntimeException: java.io.FileNotFoundException: C:\Users\{user}\Downloads\src\test\resources\__files\....
Run Code Online (Sandbox Code Playgroud)
我的 application.yml 文件内容:
spring:
main:
web-application-type: none
application:
name: wiremock-service
wiremock:
server:
files: classpath:/__files
stubs: classpath:/mappings
Run Code Online (Sandbox Code Playgroud)
主要类别:
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public Options wireMockOptions() throws IOException {
final WireMockConfiguration options = WireMockSpring.options();
//options.withRootDirectory("classpath*:");
options.port(9990);
return options;
}
}
Run Code Online (Sandbox Code Playgroud)
如何指定 _files 和映射的路径,以便我可以从任何位置独立运行?
我已经创建了这个Dockerfile并将其复制到/my/project/wiremock目录中,基于https://github.com/rodolpheche/wiremock-docker中的示例:
FROM openjdk:8-jre-alpine
ENV WIREMOCK_VERSION 2.27.1
RUN apk add --update openssl
# fix "No Server ALPNProcessors" when using https
RUN apk add --update libc6-compat
RUN ln -s /lib/libc.musl-x86_64.so.1 /lib/ld-linux-x86-64.so.2
# grab su-exec for easy step-down from root
# and bash
RUN apk add --no-cache 'su-exec>=0.2' bash
# grab wiremock standalone jar
RUN mkdir -p /var/wiremock/lib/ \
&& wget https://repo1.maven.org/maven2/com/github/tomakehurst/wiremock-jre8-
standalone/$WIREMOCK_VERSION/wiremock-jre8-standalone-$WIREMOCK_VERSION.jar \
-O /var/wiremock/lib/wiremock-jre8-standalone.jar
WORKDIR /home/wiremock
EXPOSE 7070 7443
CMD java $JAVA_OPTS -cp /var/wiremock/lib/*:/var/wiremock/extensions/*
com.github.tomakehurst.wiremock.standalone.WireMockServerRunner …Run Code Online (Sandbox Code Playgroud)