作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Mocha 在 Node.js 中测试 Web 应用程序的路由器,我想知道是否有一种方法可以检查一个对象是否具有某些属性的断言。
现在,这就是我正在做的:
describe('GET /categories', function () {
it('should respond with 200 and return a list of categories', function (done) {
request.get('/categories')
.set('Authorization', 'Basic ' + new Buffer(tokenLogin).toString('base64'))
.expect('Content-Type', /json/)
.expect(200)
.end(function (err, res) {
if (err) return done(err);
expect(res.body).to.be.an.instanceof(Array);
expect(res.body).to.have.lengthOf.above(0);
expect(res.body[0]).to.have.property('id');
expect(res.body[0]).to.have.property('category');
expect(res.body[0]).to.have.property('tenant');
done();
});
});
});
我已经在 Mocha 的文档中进行了搜索,但一直无法找到我想要的内容。
最佳答案
我假设您正在使用 chai
:
expect(res.body)
.to.be.an.instanceof(Array)
.and.to.have.property(0)
.that.includes.all.keys([ 'id', 'category', 'tenant' ])
或者:
expect(res)
.to.have.nested.property('body[0]')
.that.includes.all.keys([ 'id', 'category', 'tenant' ])
(虽然后者并没有真正检查 res.body
是否真的是一个数组)
关于javascript - 如何在 Mocha 的一个断言中检查响应的主体是否具有某些属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45243031/
我是一名优秀的程序员,十分优秀!