如何检查 属性 是否小于 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.StayDurationundefined 因为 StayDurationres.body 数组中 每个对象 的 属性 不是 res.body 数组本身的属性。

我不知道 chai/chai-things 是否提供了一种方法来测试数组中每个对象的 属性。但是,将主体对象简单映射到它们的 StayDuration 值将允许您执行测试:

res.body.map((item) => item.StayDuration).should.all.be.below(12);