我想看看一個等於'x'的值是否會導致我的函數拋出異常。我有一個單元測試,檢查塊是否會拋出一個異常,但是我希望僅當參數='x'時拋出異常,而不是它只是空的。我如何使用斷言來做到這一點?如何在JavaScript中使用Mocha和assert.throws測試參數的值?
下面是一些代碼來說明我的意思:
// Some function to check if a color is not transparent.
function checkColor(color) {
if (color == 'transparent') {
throw new TypeError('cant have transparent colors!');
} else {
return color;
}
}
這裏的斷言:
assert.throws(checkColor, /cant have transparent colors!/);
現在,我知道,斷言會失敗,因爲我的功能僅在顏色拋出異常= ='透明'。使用Mocha和Assert,我如何根據需要測試斷言?我不想僅僅測試顏色!==未定義或某種類型。我特別想看看是否在上述特定情況下引發異常 - 這是我希望引發異常的唯一情況(因爲具有空顏色,實際上在別處處理)。
你的問題不清楚。包含代碼以演示您的要求 – Amit
「等於'x'的值將引發異常」值不會拋出異常,函數會這樣做。 「但我希望只有當參數='x'」時拋出異常,然後告訴函數在參數爲'x'時拋出異常。 –