必须有选项来设置POST请求的req.params。
supertest
包不提供此功能,或者没有详细记录,以便明确它。
答案 0 :(得分:0)
如果您正在测试快速应用程序,supertest支持POST以及大多数其他HTTP方法。快递req.params
由URL的路径部分填充,因此您可以执行类似
var app = require('./my-app')
var request = require('supertest')(app)
request.post('/some/path/req/params/is/here?some=query')
.send({some: 'body'})
.expect(200)
.end(function (error, res) {
assert(res.body.something === 'value')
})
答案 1 :(得分:0)
是的,您可以使用超级测试,因为它与superagent具有相同的操作,这是一个示例:
request
.post('/api/pet')
.send({ name: 'Manny', species: 'cat' })
.set('X-API-Key', 'foobar')
.set('Accept', 'application/json')
.end(function(err, res){
// Calling the end function will send the request
});
https://github.com/visionmedia/supertest
默认情况下,发送字符串会将Content-Type设置为 application / x-www-form-urlencoded,将连接多个调用 使用&amp ;,这里得到name = tj& pet = tobi:
request.post('/user')
.send('name=tj')
.send('pet=tobi')
.end(callback);
答案 2 :(得分:0)
你可以用superagent做什么,你可以用supertest
因此,以下应该可以正常工作:
request(app)
.post('/')
.query({format: 'json'})
.expect(....)