Mulesoft Anypoint平台模拟服务

时间:2016-06-22 10:25:48

标签: unit-testing service mocking

我遇到问题在https://anypoint.mulesoft.com/apiplatform的Anypoint平台的Api经理工作..

我制作了一个API Raml定义,并使用Mock服务测试所有端点。因此,当调用Api端点时,会提供模拟baseurl,并且响应由提供有被叫端点/ http动词的示例组成。这适用于GET,但在进行“尝试”时可以使用。对于POST我得到了

status 400 error
{
  "error": "body: person: required"
}

作为回应。无论我如何提供身体参数。我的端点POST定义是:

  post:
    body:
      application/json:
        properties:
          person:
            required: true
            type: object
          token:
            required: true
            type: string
            example: |
              {
                person: {
                "firstName": "John",
                "infix": "",
                "id": "605a0302-cc33-449a-ac50-5ef26e3e3330",
                "emailaddress": "john@doe.nl",
                "lastName": "Doe"
                },
                token: '42E2BC51-6C62-6D46-AC1457446EC4C737'
              }

在Api工作台'模拟服务窗格我在正文中输入:

{
                person: {
                "firstName": "John",
                "infix": "",
                "id": "605a0302-cc33-449a-ac50-5ef26e3e3330",
                "emailaddress": "john@doe.nl",
                "lastName": "Doe"
                },
                token: '42E2BC51-6C62-6D46-AC1457446EC4C737'
              }

但我仍然得到"错误":"身体:人:必需"如果我省略令牌.... 我在做什么错了???

2 个答案:

答案 0 :(得分:1)

好的,在细节中证明了魔鬼。输入错误形成json - 应该用""并且没有单一的令牌值...... :(

答案 1 :(得分:0)

raml中定义的json格式不合适,可以将raml exmple更改为有效的json格式并进行测试。它会正常工作