NodeJS中断言的目的

Joh*_*len 4 assert node.js

我是 nodejs 的新手,我按照文档中的所有步骤操作。首先我研究测试了node的assert功能,我只是想知道使用assert的目的是什么?如果没有错误,则没有输出,但是如果出现错误,则有一个输出说 AssertError 等。

我想知道,何时以及使用断言的目的是什么?

Rya*_*yan 6

在任何编程语言中,错误都是一个问题。无论是人为错误还是糟糕的设计。node.js 中的 assert 模块用于测试函数的行为并减少“错误”代码的创建,这也促进了设计思维。

在大多数情况下,断言用于单元测试。这需要一个代码单元,可以是函数、方法等,并在其上运行多个测试。这些测试函数生成的值(实际)与我们期望函数提供的值。

断言的一个例子:

"use strict";

//Run the code and change the values of x and y (to equal 42) to test the assert module.
const x = 18;
const y = 20;

//We have to import our assert module
var assert = require("assert");

//Calculates the anser to life (42)
var life = function(a,b){
    return a + b;
 };

//Overwrite the variable of result to equal the return.
result = life(x,y);

//Change the comments below to see the difference between the two values
assert.deepEqual(result, 42);
//assert.fail(result, 42, "", '<');
Run Code Online (Sandbox Code Playgroud)

从技术角度来看,开发人员应该在开始编写代码之前编写测试。这是一种自上而下的开发策略,让开发者了解软件的功能需求。因此,在编写断言时,您将获得所需的参数以及预期的结果。从而使逻辑成为唯一的障碍。