讲一下 nodejs 中的 assert
时间: 2024-09-14 15:12:20 浏览: 37
在 Node.js 中,`assert` 是一个内置模块,用于编写和执行测试用例,确保代码按预期工作。以下是 `assert` 常见的用法:
1. **基本的断言**[^1]:
```javascript
const assert = require('assert');
const result = 10;
assert.equal(result, 10, "Result should be equal to 10");
```
这里 `assert.equal()` 方法比较两个值是否相等,如果不同则会触发错误。
2. **测试函数返回值**:
```javascript
function add(a, b) {
return a + b;
}
assert.strictEqual(add(1, 2), 3, "Addition failed");
```
`assert.strictEqual()` 更精确地检查两个值是否严格相等(包括类型)。
3. **检测存在性和空值**:
```javascript
let obj = {};
assert.ok(obj, "Object should not be null or undefined");
assert.notOk(null, "null should be falsy");
```
`assert.ok()` 和 `assert.notOk()` 分别检查给定的对象或值是否满足某个条件。
4. **错误捕获**:
```javascript
try {
throw new Error("Expected error");
} catch (err) {
assert.strictEqual(err.message, "Expected error", "Error message should match");
}
```
使用 `try...catch` 结构来捕获可能的异常,并通过 `assert` 来验证其属性。
查阅完整文档以了解更详细的 API 及如何编写全面的测试用例。
阅读全文