首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用NodeJS的超级测试测试GET请求的路径参数?

如何用NodeJS的超级测试测试GET请求的路径参数?
EN

Stack Overflow用户
提问于 2017-10-09 11:42:31
回答 1查看 8.7K关注 0票数 3

我找到了如何测试查询参数的示例

例如:

代码语言:javascript
复制
/api/browser?parameter1=2341&parameter2=5663

但是,如果我有path参数,像这样的URL,我就找不到如何将测试参数化:

代码语言:javascript
复制
const ENDPOINT_DETAILS = "/api/browser/:parameter";
app.get(ENDPOINT_DETAILS, function (req, res) {

    logger.info("Endpoint called: " + ENDPOINT_DETAILS);
    var details = {}
    // ... magic
    res.send(details);
}

如果我不想修正我的参数,我的测试应该是什么样子的?

代码语言:javascript
复制
describe("returns details", function() {

    it("returns status 200", function(done) {

        var sampleData = "sample_detail";

        // this won't work
        restApi.get('/api/browser/:parameter')
            .set('Accept', 'application/json')
            .expect(200, { "text" : "Detail of " + parameter + " is: " + sample_text})
            .end(function(err, res) {
                if (err) throw err;
                done();
            });

    });
});

在调用parameter之前,这里有可能知道restApi.get()的值吗?

EN

Stack Overflow用户

回答已采纳

发布于 2017-10-13 23:18:42

您必须为:parameter提供一个实际的号码。例如

代码语言:javascript
复制
restApi.get('/api/browser/1234')

毕竟,端点需要提供实际值。然后端点函数中的req.params.parameter为1234。

我不太明白你不修正参数是什么意思。您想要使用一个变量使测试对多个参数可重用吗?然后我会简单的做

代码语言:javascript
复制
let parameter = 1234;
restApi.get('/api/browser/' + parameter)
票数 7
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46645616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档