我找到了如何测试查询参数的示例
e.g:
/api/browser?parameter1=2341¶meter2=5663
但如果我有一个路径参数,我找不到如何参数化测试,这样的URL:
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);
}
如果我不想修改参数,我的测试应该如何?
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()
的值?
答案 0 :(得分:1)
您必须提供:parameter
的实际数字。例如
restApi.get('/api/browser/1234')
毕竟,端点需要提供实际值。然后,req.params.parameter
将在端点函数中为1234。
我不确定你没有修复参数是什么意思。是否要使用变量使测试可重用于多个参数?那我就干脆做了
let parameter = 1234;
restApi.get('/api/browser/' + parameter)