0

我有一个模拟服务器 ( https://github.com/jamesdbloom/mockserver ) docker 容器实例,期望返回一个 javascript 模板。如果我可以在该模板(即 faker.js)中使用 npm 包来生成一个好的假响应,那会让我的生活变得更轻松。

模拟服务器无法解析 require('faker') 我真的不知道为什么。这是我到目前为止所尝试的:

  1. npm install faker(在/opt/mockserver/中安装faker)我试过了require('faker')require('/opt/mockserver/faker')

  2. npm install -g faker(在/usr/lib/中安装faker)我试过了require('faker')require('/usr/lib/faker')

  3. 克隆 faker.js 存储库并将其用作我尝试过的本地模块require('/opt/mockserver/faker.js')require('/opt/mockserver/faker.js/lib')

以上所有方法均无效。不使用外部模块可以正常工作,但我真的很想解决这个问题。mockserver 不是 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"

谢谢 :)

4

0 回答 0