我有一个模拟服务器(https://github.com/jamesdbloom/mockserver)docker容器实例,期望可以返回一个javascript模板。如果我可以在该模板中使用npm软件包(即faker.js)来生成良好的伪造响应,将会使我的生活变得更加轻松。
mockserver无法解析require('faker'),我不确定为什么。这是我到目前为止尝试过的:
npm install faker
(将伪造者安装在/ opt / mockserver /中)
我已经尝试过require('faker')
,require('/opt/mockserver/faker')
npm install -g faker
(在/ usr / lib /中安装fakerr)
我已经尝试过require('faker')
,require('/usr/lib/faker')
克隆faker.js存储库并将其用作本地模块
我已经尝试过require('/opt/mockserver/faker.js')
,require('/opt/mockserver/faker.js/lib')
以上所有方法均无效。不使用外部模块可以正常工作,但我真的很想解决这个问题。模拟服务器不是nodejs应用程序,我在网上只能找到如何将docker转换为nodejs应用程序。
感谢您的帮助
如果有人想尝试一下,这里有一些入门代码
创建期望
curl -v -X PUT "http://localhost:1080/mockserver/expectation" -d '{
"httpRequest": {
"path": "/some/path"
},
"httpResponseTemplate": {
"template": "var faker = require('/opt/mockserver/faker.js');\nreturn {'statusCode': 200, 'body': JSON.stringify({'firstName': faker.name.firstName(), 'lastName': faker.name.lastName()})};",
"templateType": "JAVASCRIPT"
}
}'
使用此响应模板
var faker = require('/opt/mockserver/faker.js');
return {
'statusCode': 200,
'body': JSON.stringify({
'firstName': faker.name.firstName(),
'lastName': faker.name.lastName()
})
};
要验证:
curl -v -X GET "http://localhost:1080/some/path"
谢谢:)