javascript - 如何使用 Chai 检查值是否为正数?
问题描述
我试图弄清楚如何使用 Chai 检查一个值是否为正数(大于零)。我尝试了什么:
expect(5).that.is.a('number');
但它也适用于-5
和0
。我也试过改成integer
但是js没有这个类型。我怎样才能检查它?
解决方案
您可以使用它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>
推荐阅读
- reactjs - IDToken 为 react-native-google-signin 返回 null
- clang - 如何匹配来自 cxxMethodDecl 节点的所有返回 stmt
- r - networkD3:如何在没有输出的情况下将桑基图中的颜色分配给节点
- html - HTML 网格在元素之间有很大的空间
- r - 构面网格标题和标签
- graphics - 示例需要在 TeX 中使用 tikz 包进行 for 循环
- r - tidyverse : 连续出现零
- python - Openvino-opencv videocapture 异常行为
- php - PHP 日期问题 - 获取正确的周数
- qt - 将 QPixmap 设置为 Qlabel 会导致分段错误和应用程序崩溃