如果在if失败的情况下如何使nightwatch.js测试失败

时间:2019-04-29 10:30:50

标签: javascript if-statement nightwatch.js

我有一个 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 语句隐式失败而无法通过测试?谢谢。

1 个答案:

答案 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' );
}