有没有办法在超级测试中设置默认值?
Is there any way to set defaults in supertest?
我正在使用 supertest 模块来测试我的 Rest API。我的 API 一直发送 JSON。所以我正在为所有和每个测试做 .expect('Content-Type', /json/)
!我一次又一次地重复!
这是我的一些代码
it('should list ALL permissions on /permissions GET', (done)=> {
request(app)
.get( permissionsURL )
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
var permissions = res.body;
permissions.should.be.an.instanceOf(Array);
var permission = permissions[0];
permission.should.be.json;
permission.should.have.properties(['name', '_id']);
permission.name.should.be.a.String();
// permission.should.not.have.property('__v');
done(err);
});
});
it('should list a SINGLE permission on /permissions/<id> GET', (done)=> {
request(app)
.get( permissionsURL +savedPermissionId )
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
var permission = res.body;
permission.should.be.json;
permission.should.have.properties(['name', '_id']);
permission.name.should.be.a.String();
// permission.should.not.have.property('__v')
done(err);
});
});
还有其他办法吗?有点像 superagent-defaults 模块,但对于 supertest 而不是 superagent?或者是否可以将 superagent-defaults 与 supertest 一起使用?
感谢您提供的任何帮助。 :)
无法为所有测试设置此项。但是,如果您可以考虑为您期望 return JSON 的每个端点进行一套测试,并且只在其中进行此期望调用,那么您可以忽略所有其他测试的期望。
我正在使用 supertest 模块来测试我的 Rest API。我的 API 一直发送 JSON。所以我正在为所有和每个测试做 .expect('Content-Type', /json/)
!我一次又一次地重复!
这是我的一些代码
it('should list ALL permissions on /permissions GET', (done)=> {
request(app)
.get( permissionsURL )
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
var permissions = res.body;
permissions.should.be.an.instanceOf(Array);
var permission = permissions[0];
permission.should.be.json;
permission.should.have.properties(['name', '_id']);
permission.name.should.be.a.String();
// permission.should.not.have.property('__v');
done(err);
});
});
it('should list a SINGLE permission on /permissions/<id> GET', (done)=> {
request(app)
.get( permissionsURL +savedPermissionId )
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
var permission = res.body;
permission.should.be.json;
permission.should.have.properties(['name', '_id']);
permission.name.should.be.a.String();
// permission.should.not.have.property('__v')
done(err);
});
});
还有其他办法吗?有点像 superagent-defaults 模块,但对于 supertest 而不是 superagent?或者是否可以将 superagent-defaults 与 supertest 一起使用?
感谢您提供的任何帮助。 :)
无法为所有测试设置此项。但是,如果您可以考虑为您期望 return JSON 的每个端点进行一套测试,并且只在其中进行此期望调用,那么您可以忽略所有其他测试的期望。