我已经基于https://github.com/rodolpheche/wiremock-docker的示例创建了这个文件,Dockerfile
并将其复制到/ my / project / wiremock目录中:
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
然后我docker-compose.yml
在/ my / project /目录中创建了以下文件
version: '3'
services:
wiremock:
image: rodolpheche/wiremock:latest
container_name: miplata-wiremock-local
build: ./wiremock/.
ports:
- "7070:8080"
- "7443:8443"
volumes:
- ./wiremock/stubs:/home/wiremock
儿童的目录里面/我/项目/ wiremock /存根是映射和__files。
当我执行时docker-compose up
,docker容器可以工作,并且我可以发出一些可以正常工作的请求。但是我的问题是,存根目录中的更改不会自动刷新,因此,每次创建新的Wiremock存根或更新现有存根时,都需要重新启动容器。
你知道我做错了什么吗?继续工作而不重新启动容器将是很好的。
谢谢!!!!
我的建议是将映射和响应主体都存储在文件中。
默认:
mappings
文件夹中__files
文件夹中。据我所知,wiremock独立的Java进程执行以下操作(无论它在主机上还是在容器中运行):
POST
调用__admin/mappings/reset
才能重新加载映射。对于问题描述中的示例,cURL命令看起来像curl -X POST http://localhost:7070/__admin/mappings/reset
请同时在下面查看映射和响应正文文件:
{
"request": {
"method": "GET",
"url": "/hello"
},
"response": {
"status": 200,
"bodyFileName": "hello.json"
}
}
{
"message": "Hello World !"
}
对我来说,所有这一切都像一个魅力。Wiremock是一个令人赞叹的软件宝典,对于测试带有不同用例的存根非常有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句