Node.js v14.20.0 文档


目录

assert 断言#

中英对照

assert 模块提供了一组用于验证不变量的断言函数。

严格断言模式#

中英对照

在严格断言模式下,非严格方法的行为与其对应的严格方法相同。 例如,assert.deepEqual() 的行为类似于 assert.deepStrictEqual()



旧版断言模式#

中英对照

旧版断言模式在以下方法中使用抽象相等比较

    
    

    
    

    assert.AssertionError 类#

    中英对照

      表示断言的失败。 assert 模块抛出的所有错误都是 AssertionError 类的实例。

      new assert.AssertionError(options)#

      中英对照

        Error 的子类,表示断言的失败。

          
          

          assert.CallTracker#

          中英对照

          此功能目前处于实验阶段,行为可能仍会发生变化。

          new assert.CallTracker()#

          中英对照

          创建新的 CallTracker 对象,其可用于跟踪函数是否被调用了特定次数。 必须调用 tracker.verify() 才能进行验证。 通常的模式是在 process.on('exit') 句柄中调用。

          
          

          tracker.calls([fn][, exact])#

          中英对照

            预计封装函数将被精确调用 exact 次。 如果在调用 tracker.verify() 时函数没有被精确调用 exact 次,那么 tracker.verify() 将抛出错误。

            
            

            tracker.report()#

            中英对照

              数组包含有关未调用预期次数的函数的预期和实际调用次数的信息。

              
              

              tracker.verify()#

              中英对照

              遍历传给 tracker.calls() 的函数列表,对于未按预期调用次数的函数将抛出错误。

              
              

              assert(value[, message])#

              中英对照

                assert.ok() 的别名。

                assert.deepEqual(actual, expected[, message])#

                中英对照

                  严格断言模式

                  比较详情#

                  中英对照

                    以下示例不会抛出 AssertionError,因为抽象相等比较==)认为原始值相等。

                    
                    

                    
                    

                    assert.deepStrictEqual(actual, expected[, message])#

                    中英对照

                      测试 actualexpected 参数之间的深度相等。 "深度"相等意味着子对象的可枚举"自有"属性也按照以下规则递归地评估。

                      比较详情#

                      中英对照

                        
                        

                        如果值不相等,则抛出 AssertionError,其 message 属性设置为等于 message 参数的值。 如果未定义 message 参数,则分配默认错误消息。 如果 message 参数是 Error 的实例,则将抛出错误而不是 AssertionError

                        assert.doesNotMatch(string, regexp[, message])#

                        中英对照

                          期望 string 输入与正则表达式不匹配。

                          
                          

                          assert.doesNotReject(asyncFn[, error][, message])#

                          中英对照

                            等待 asyncFn promise,或者,如果 asyncFn 是函数,则立即调用该函数并等待返回的 promise 完成。 然后会检查 promise 是否没有被拒绝。

                            
                            
                            
                            
                            

                            assert.doesNotThrow(fn[, error][, message])#

                            中英对照

                              断言函数 fn 不会抛出错误。

                              
                              

                              
                              

                              
                              

                              assert.equal(actual, expected[, message])#

                              中英对照

                                严格断言模式

                                
                                

                                assert.fail([message])#

                                中英对照

                                  抛出带有提供的错误消息或默认错误消息的 AssertionError。 如果 message 参数是 Error 的实例,则将抛出错误而不是 AssertionError

                                  
                                  

                                  assert.fail(actual, expected[, message[, operator[, stackStartFn]]])#

                                  中英对照

                                    如果 message 为假,则错误消息设置为由提供的 operator 分隔的 actualexpected 的值。 如果只提供了两个 actualexpected 参数,则 operator 将默认为 '!='。 如果 message 作为第三个参数提供,则它将用作错误消息,其他参数将作为抛出对象的属性存储。 如果提供了 stackStartFn,则该函数之上的所有堆栈帧都将从堆栈跟踪中删除(参见 Error.captureStackTrace)。 如果没有给出参数,则将使用默认消息 Failed

                                    
                                    

                                    
                                    

                                    assert.ifError(value)#

                                    中英对照

                                      如果 value 不是 undefinednull,则抛出 value。 这在回调中测试 error 参数时很有用。 堆栈跟踪包含来自传给 ifError() 的错误的所有帧,包括 ifError() 本身的潜在新帧。

                                      
                                      

                                      assert.match(string, regexp[, message])#

                                      中英对照

                                        期望 string 输入与正则表达式匹配。

                                        
                                        

                                        assert.notDeepEqual(actual, expected[, message])#

                                        中英对照

                                          严格断言模式

                                          
                                          

                                          assert.notDeepStrictEqual(actual, expected[, message])#

                                          中英对照

                                            检验深度严格不相等。 assert.deepStrictEqual() 的相反。

                                            
                                            

                                            assert.notEqual(actual, expected[, message])#

                                            中英对照

                                              严格断言模式

                                              
                                              

                                              assert.notStrictEqual(actual, expected[, message])#

                                              中英对照

                                                测试由 SameValue 比较 确定的 actualexpected 参数之间的严格不相等。

                                                
                                                

                                                assert.ok(value[, message])#

                                                中英对照

                                                  测试 value 是否为真。 相当于 assert.equal(!!value, true, message)

                                                  
                                                  

                                                  assert.rejects(asyncFn[, error][, message])#

                                                  中英对照

                                                    等待 asyncFn promise,或者,如果 asyncFn 是函数,则立即调用该函数并等待返回的 promise 完成。 然后将检查 promise 是否被拒绝。

                                                    
                                                    
                                                    
                                                    
                                                    
                                                    

                                                    assert.strictEqual(actual, expected[, message])#

                                                    中英对照

                                                      测试由 SameValue 比较 确定的 actualexpected 参数之间的严格相等。

                                                      
                                                      

                                                      assert.throws(fn[, error][, message])#

                                                      中英对照

                                                        期望函数 fn 抛出错误。

                                                        
                                                        

                                                        
                                                        

                                                        
                                                        

                                                        
                                                        

                                                        
                                                        

                                                        返回顶部