node斷言函式

2021-08-18 04:44:58 字數 2080 閱讀 4607

斷言actualexpected相等,用==判斷否則丟擲錯誤資訊,assertionerror:message,只測試可列舉物件,不測試原型物件。

const obj1 = };

const obj2 = };

const obj3 = };

const obj4 = object.create(obj1);

assert.deepequal(obj1,obj1);//自身相等

assert.deepequal(obj1,obj3);//值相等

assert.deepequal(obj1,obj4,["obj1 don't equal to obj4"]);//丟擲assertionerror: obj1 don't equal to obj4,因為obj4的屬性在原型上

assert.deepequal(obj1,obj2,["obj1 don't equal to obj2"]);//丟擲assertionerror: obj1 don't equal to obj2,若這裡的message為undefined,則assert.deepequal(obj1,obj2)丟擲assertionerror: } deepequal }

由於deepequal測試可列舉屬性,且原始值用==判斷,因此,判斷物件相等時也是列舉其屬性到原始值再進行比較,而equal則直接用==比較物件。

assert.equal(, );//不通過,assertionerror [err_assertion]:  ==
與之相反的方法assert.notdeepequal();

===判斷物件屬性,比較原型。

assert.deepequal(,);//通過,2==『2』

assert.deepstrictequal(,);//不通過2!==『2』

assert.deepstrictequal(,);//通過,列舉屬性比較

const date = new date();

const object = {};

const fakedate = {};

object.setprototypeof(fakedate, date.prototype);

assert.deepstrictequal(object, fakedate);//不通過,原型不相等 丟擲 assertionerror: {} deepstrictequal date {}

assert.deepequal(object, fakedate);//通過,不測試型別標籤

assert.deepequal(date, fakedate);//通過,不測試型別標籤

assert.deepstrictequal(date, fakedate);//通過,可理解為列舉空屬性,所以相等,前面兩個通過的斷言也可這樣理解。

assert.strictequal(actual,expected,[,message]); 

assert.notstrictequal(actual,expected,[,message]);

assert.deepstrict(actual,expected,[,message]);

assert.notdeepstrict(actual,expected,[,message]);

而前面的deepstrictequal()方法在判斷時將列舉屬性。

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

assert.notequal(actual,expected,[,message]);

assert.ok(value,[,message])//判斷value是否是真值

assert.iferror(value)//若value為真值,則丟擲value

node基礎學習 assert斷言

assert模組是node的內建模組,主要用於斷言。如果表示式不符合預期,就丟擲乙個錯誤。該模組提供11個方法,但只有少數幾個是常用的。assert assert方法接受兩個引數,當第乙個引數對應的布林值為true時,不會有任何提示,返回undefined。當第乙個引數對應的布林值為false時,會...

node函式 node路由

js中乙個函式可以作為另乙個函式的引數,即先定義乙個函式,然後傳遞 這個學過,過 要為路由提供請求的url,和其他需要的get的post請求。隨後,路由會根據需要進行執行響應的 因此,需要根據http請求,從中提取中需要的url和get和post引數 這個url中 url.parse string ...

Python assert 斷言函式

使用assert斷言是學習python乙個非常好的習慣,python assert 斷言句語格式及用法很簡單。在沒完善乙個程式之前,我們不知道程式在 會出錯,與其讓它在執行最崩潰,不如在出現錯誤條件時就崩潰,這時候就需要assert斷言的幫助。本文主要是講assert斷言的基礎知識。python a...