如何使用Chai检查值是否为正数?

问题描述 投票:1回答:1

我试图弄清楚如何使用Chai来检查值是否为正数(大于零)。我试过的:

expect(5).that.is.a('number');

但是它也适用于-50。我也尝试更改为integer,但是js没有这种类型。如何检查?

javascript chai
1个回答
0
投票

您可以使用above(val)检查数字是否大于值。

这将确保该值既是一个数字,又高于所需的任何值。在这种情况下,由于您希望它为正值,因此我们将使用above(0)

[如果您还想检查它是否是整数,则可以使用expect(val % 1).to.equal(0),如Chai Unittesting - expect(42).to.be.an('integer')中所示

chai.expect(5).to.be.above(0)

try {
  chai.expect(-5).to.be.above(0)
} catch (error) {
  console.log(error.message);
}
try {
  chai.expect(0).to.be.above(0)
} catch (error) {
  console.log(error.message);
}

try {
  chai.expect('5').to.be.above(0)
} catch (error) {
  console.log(error.message);
}

try {
  let val = 2.5;
  chai.expect(val).to.be.above(0);
  chai.expect(val % 1,'to be a whole number').to.equal(0)
} catch (error) {
  console.log(error.message);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/4.2.0/chai.min.js"></script>
© www.soinside.com 2019 - 2024. All rights reserved.