express supertest测试写法

mocha+should+supertest 测试express

简单测试:



var app = require('../../app.js').app;
var request = require('supertest');
var _ = require('underscore');

describe('/api/user', function() {
this.timeout(10000);
//test for GET
it('get /api/user/info', function(done) {
request(app).get('/api/user/info')
.query({user_id:'111111'}) //get传参使用query
.expect('Content-Type', /json/)
.expect(/"status":\s*0/, done);
})


//test for POST
it('/api/user' , function(done){
request(app).post('/api/user/update')
.send({name:"jim",age:"15"}) //post传参使用send
.expect('Content-Type',/json/)
.expect(/"status": 0/ , done)
})

//test for POST FILE
it('/upload' , function(done){
request(app).post('/upload')
.field('type',"image") //普通字段使用field
.attach('file', __dirname+'\\t1.jpg') //文件使用attach
.expect(/"status": 1/ , done)
})
});


需要保持连接状态的请求(保存cookie)需要使用agent , 如必须先登录在做后续操作

var app = require('../../main.js').app;
var request = require('supertest');
var agent = request.agent(app);


describe('/api/user', function() {
it('/api/signin' , function(done){
agent.post('/signin')
.send({name:"jim",pwd:"123"})
.expect('Content-Type',/json/)
.expect(/"status": 1/ , done)
})
it('get /api/info', function(done) {
agent.get('/api/info')
.expect('Content-Type', /json/)
.expect(/"status":\s*0/, done);
})


});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值