2016-10-20 12 views
0

私は練習を与えられましたが、私に与えられたアサート機能を完全に理解していません。だからこれをチェックしてください..アサート関数JavaScriptで

function assert(input, expectedResult, descriptionOfCorrectResult) { 
    if (!expectedResult) { 
     console.log(descriptionOfCorrectResult); 
    } else { 
     console.log('test passed'); 
    } 
}; 

だから!はブール値を返します。だからif (!expectedResult)trueまたはfalseとなります。

function square(x) { 
    return x * x; 
}; 

この単純な正方形関数ではどのようにアサート関数を使いますか?それはできますか?

+0

'assert(null、square(2)=== 4、2の2乗は4でなければなりません)' '入力が何であるかわからない、どこにも使われていません –

+0

assert関数は、全く意味がありません。 – Quentin

答えて

0

たとえば、square(4)をテストしたいとします。 assertの最初のパラメータ*には、squareに渡された入力が含まれています.2番目のパラメータは実際のテストです.3番目のパラメータは、実行していることを説明するときのものです。だから、あなたが持っている:

assert(4, square(4) == 16, "The result of square(4) should be its square, 16."); 

それは"test passed"をログに記録動作する場合。それ以外の場合は、エラーメッセージ"The result of square(4) should be its square, 16."が表示されます。

これは使い方です。

*実際には、assertは最初のパラメータを使用しないため、実際には何を配置しても問題ありません。 Gettysburg Addressを渡した場合、ログ出力は同じになります。

アサーションが失敗した場合、ログにはsquareの出力が含まれていないため、出力結果のみが示されます。おそらく両方を知りたいと思うでしょう。私はあなたの場合、この機能を変更するためにロビーにいたいと思います。