2017-04-23 77 views
0

我是nodejs的新手,我遵循文檔中的所有步驟。首先我研究並測試節點的斷言函數,我只想知道使用斷言的目的是什麼?如果沒有錯誤沒有輸出,但如果你有一個錯誤,有一個輸出說AssertError等在NodeJS中斷言的目的

我想知道什麼時候使用斷言和目的是什麼?

+1

我不認爲它與其他所有語言都有區別。 https://en.wikipedia.org/wiki/Assertion_(software_development) – Cristy

+1

當所有其他都失敗時,請參閱文檔https://nodejs.org/api/assert.html – Stavm

回答

1

在任何編程語言中,錯誤都是一個問題。無論是人爲錯誤還是糟糕的設計。 node.js中的assert模塊用於測試函數的行爲並減少「buggy」代碼的創建,這也促進了設計思維。

在大多數情況下,斷言用於單元測試。這需要一個代碼單元,它是一個函數,方法等,並對其執行多個測試。這些測試函數產生的值(實際)與我們期望函數提供的值。

斷言的一個例子:

"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, "", '<'); 

從技術角度來看,他們開始編寫代碼之前,開發人員應該寫他們的測試。這是一種自頂向下的開發策略,它允許開發人員瞭解軟件的功能需求。因此,在編寫斷言時,您可以獲得所需的參數以及期望的結果。從而使邏輯成爲唯一的障礙。

1

Assert用於爲您的應用程序編寫測試套件。這樣,您可以輕鬆測試應用程序,以查看它們是否按預期工作,並在開發階段的早期捕獲錯誤。