我有一个 if 声明,当它“失败”时,我希望它无法通过我的夜间监视测试。
因此,目前我的代码节选如下:
if (rangeFacetEntry.value.length === rangePageElement.length) {
if (JSON.stringify(rangeArray) === JSON.stringify(rangePageElement)) {
console.log("Range - they are the same");
return true;
} else {
console.log("Range - they are not the same");
return false;
}
}
});
但是当它失败时(即JSON.stringify(rangeArray)不会不等于JSON.stringify(rangePageElement)),那么我希望它失败我的测试。
但事实并非如此。
它根本不会将结果输出到终端,并且整体测试通过了。
有没有办法使我的 if 语句隐式失败而无法通过测试?谢谢。
答案 0 :(得分:0)
对于任何JS测试框架,“规范”都是抛出错误。
function throwIfNotEqual( a, b ) {
if( a !== b ) {
throw new Error( 'a !== b' );
}
return true;
}
if( throwIfNotEqual( 'a1', 'a1' ) ) {
console.log( 'we are here now' );
}
if( throwIfNotEqual( 'b1', 'b2' ) ) {
console.log( 'this will not be called because the error is thrown' );
}