2016-04-27 208 views
3

我想用郵遞員來測試一個API,我正在建立與快遞,其中我正在建立一套測試。這裏有一個簡單的例子:工作爲什麼測試失敗

tests["Status code is 200"] = responseCode.code === 200; 

// Check that we got the expected board 
var expected = { _id: 11, name: "board A" }; 
tests["Board retrieved"] = JSON.stringify(expected) === responseBody; 

但是我發現,當我的測試可能會失敗,他們沒有告訴我任何有用的東西:

enter image description here

是否有不同的方式來驗證結果,這會讓我知道任何人都知道的傳統測試跑步者的預期/實際值?到目前爲止我唯一能想到的就是將信息嵌入測試名稱 - 這感覺有點混亂。

回答

2

一個可能的方法可以包裹分配來添加更多的功能:

/** This function adds information in the label only if the validations returns false */ 
tests.assertEquals= function (expected, actual, label) { 
    if (expected!==actual) { 
    this[label + ': Expected "' +expected + '" but got "'+ actual +'"']=false; 

    } else { 
    this[label]=true; 
    } 
} 

tests.assertEquals(JSON.stringify(expected), responseBody,"Board retrieved"); 

正如你所說的,它可能是一個cludge,但你只有這個信息,如果有必要和使用方法保持它'隱藏'使它更清潔,更易於閱讀。另一個選擇是使用console.log來顯示額外的信息,而不是將其添加到標籤中,但它只是一個品味問題

+0

感謝Pablo--這是我最近想到的。不幸的是,控制檯輸出沒有出現在我看到的任何地方。 – Ian