【问题标题】:How to test an API with multiple GET parameters with supertest?如何使用 supertest 测试具有多个 GET 参数的 API?
【发布时间】:2016-08-11 06:53:01
【问题描述】:

我有一个类似下面的 API(GET 请求)

/vehicle/{:vehicleId}/model/{:modelNumber}

在用例中的转换如下所示

/vehicle/1000/model/1233

这将产生一个特定的 JSON 响应。

如何使用 supertest 测试上述具有多个参数的 GET API?

【问题讨论】:

    标签: node.js mocha.js chai supertest


    【解决方案1】:

    这可能是也可能不是最好的方法,但它是一个有效的答案。

    var endpoint = '/vehicle/{:vehicleId}/model/{:modelNumber}';
    
    function testGet(vehID, modelNo, done) {
        it('Test GET on vehicle ID = ' + vehID +
           ' and model number = ' + modelNo, function(done) {
    
            // url is defined elsewhere or passed in as desired
            var app = url + endpoint
                .replace('{:vehicleId}', vehID)
                .replace('{:modelNumber}', modelNo);
    
            request(app)
                .get()
                // any other .set or .expect commands
                .end(done);
        });
    })
    

    您还可以使用 ES6 插值(反引号字符串),例如 `/vehicle/${vehicleId}/model/${modelNumber}`

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 2016-03-14
      • 2014-12-14
      相关资源
      最近更新 更多