如何检查 属性 是否小于 mocha 中的特定值
how to check a property is less than a specific value in mocha
我得到了下面的JSON数组响应
[
{
"StayDuration": 1,
},
{
"StayDuration": 5,
},
{
"StayDuration": 11,
},
{
"StayDuration": 10,
},
{
"StayDuration": 3,
},
{
"StayDuration": 2,
},
{
"StayDuration": 6,
},
]
我正在使用 mocha“chai-thing”和“chai-like”来测试“StayDuration”值是否小于“12”,代码如下
it("it should GET Device List with Good Auth Status", function(done) {
chai.request('http://xxxxxx')
.get('/xxxx/xxx/xxx')
.set({ "Authorization": `Bearer ${token}` })
.then((res) => {
res.should.have.status(200);
res.should.be.json;
res.body.should.be.an('array');
res.body.should.all.have.property('StayDuration');
res.body.StayDuration.should.all.be.below(12);
done();
}).catch((err) => done(err))
});
当我 运行 测试时,我遇到错误“无法读取未定义的 属性 'should'”。你能帮我一下吗
res.body.StayDuration
是 undefined
因为 StayDuration
是 res.body
数组中 每个对象 的 属性 不是 res.body
数组本身的属性。
我不知道 chai/chai-things 是否提供了一种方法来测试数组中每个对象的 属性。但是,将主体对象简单映射到它们的 StayDuration
值将允许您执行测试:
res.body.map((item) => item.StayDuration).should.all.be.below(12);
我得到了下面的JSON数组响应
[
{
"StayDuration": 1,
},
{
"StayDuration": 5,
},
{
"StayDuration": 11,
},
{
"StayDuration": 10,
},
{
"StayDuration": 3,
},
{
"StayDuration": 2,
},
{
"StayDuration": 6,
},
]
我正在使用 mocha“chai-thing”和“chai-like”来测试“StayDuration”值是否小于“12”,代码如下
it("it should GET Device List with Good Auth Status", function(done) {
chai.request('http://xxxxxx')
.get('/xxxx/xxx/xxx')
.set({ "Authorization": `Bearer ${token}` })
.then((res) => {
res.should.have.status(200);
res.should.be.json;
res.body.should.be.an('array');
res.body.should.all.have.property('StayDuration');
res.body.StayDuration.should.all.be.below(12);
done();
}).catch((err) => done(err))
});
当我 运行 测试时,我遇到错误“无法读取未定义的 属性 'should'”。你能帮我一下吗
res.body.StayDuration
是 undefined
因为 StayDuration
是 res.body
数组中 每个对象 的 属性 不是 res.body
数组本身的属性。
我不知道 chai/chai-things 是否提供了一种方法来测试数组中每个对象的 属性。但是,将主体对象简单映射到它们的 StayDuration
值将允许您执行测试:
res.body.map((item) => item.StayDuration).should.all.be.below(12);