- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用带有 spring-cloud-contract-wiremock
和 com.github.tomakehurst.wiremock
依赖项的 Spring Boot。我的wiremock 定义存储在json 文件中。像这样:
directoryA/mappings/detail-mapping-123.json:
{
"request" : {
"urlPath" : "/detail/123",
"method" : "GET"
},
"response" : {
"status" : 200,
"bodyFileName" : "detail.json",
"headers" : {
"Content-Type" : "application/json;charset=UTF-8"
}
}
}
目录A/__files/detail.json:
{
"id": "123",
"name": "name-123"
}
directoryB/mappings/search-mapping-123.json:
{
"request" : {
"urlPath" : "/service/usa/search",
"queryParameters" : {
"query": {
"equalTo": "123"
}
},
"method" : "GET"
},
"response" : {
"status" : 200,
"bodyFileName" : "search-123.json",
"headers" : {
"Content-Type" : "application/json;charset=UTF-8"
}
}
}
directoryB/__files/search-123.json:
{
"count": 1,
"units": [
{
"name": "A123"
}
]
}
我有标准的 JUnit 测试类,其注释为:
@AutoConfigureWireMock(stubs = {"classpath:/directoryA/mappings", "classpath:/directoryB/mappings"},
files = {"classpath:/directoryA", "classpath:/directoryB"},
port = 18081)
该文件看起来被wiremock正确识别,并且所有定义都被正确解析,但问题在于为请求分配正确的正文文件:当应用程序尝试执行请求时:
GET http://localhost:18081/service/usa/search?query=123 HTTP/1.1
然后我收到错误:
java.lang.RuntimeException: java.io.FileNotFoundException: /home/my-project-dir/target/test-classes/directoryA/__files/search-123.json (Not found such file or directory)
所以...问题是wiremock在目录directoryA中搜索映射定义的bodyFileName
部分(directoryB/mappings/search-mapping-123.json)中定义的文件,而不是目录B,使用映射文件的位置。如果有的话会用到
/home/my-project-dir/target/test-classes/directoryB/__files/search-123.json
然后一切都应该正常工作......
有人遇到过类似的问题吗?我不确定这是否是我的配置或wiremock 库中的错误。
最佳答案
尝试从注释@AutoConfigureWireMock中排除“stubs”和“files”参数,并将映射/文件放在src/test/resources中,wiremock默认从这些路径获取
关于java - WireMock 使用错误的 __files 目录进行多目录映射配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52376252/
来自docs : To read the body content from a file, place the file under the __files directory. By defaul
随着我正在从事的项目变得越来越大,我已经厌倦了编写全面的日志消息,需要找出问题所在和出处。 因此,如果我可以将该信息自动合并到消息中,将非常有用。对于C++,我们有方便的__FILE__,__LINE
我使用带有 spring-cloud-contract-wiremock 和 com.github.tomakehurst.wiremock 依赖项的 Spring Boot。我的wiremock 定
wiremock 的文档说我们可以通过以下代码模拟检索文件的请求: { “要求”: { “方法”:“获取”, "url": "/body 文件" }, “回复”: { “状态”:200, “bodyF
在 node.js 中有全局变量 __filename 和 __dirname - 它们是在加载时由编译器扩展的,类似于它在 c++ 预处理器中的完成方式替换 __FILE__(和其他魔术常量)或者这
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 2年前关闭。 Imp
我是一名优秀的程序员,十分优秀!