2

私はnode.jsにかなり慣れていないため、assertモジュールを理解していません。これの目的は何ですか?特定の値が定義した値と等しいかどうかを確認しようとしていますが、false の場合はアプリがクラッシュします (そうなると言われています)。アサートを使用する理由は何ですか? if文でチェックするのは同じことですか、それとも適切ではありませんか?

基本的には、zombie.js を使用して入力フォームの値を取得しています。

assert.equal(browser.field('name').value, 'Mike'); 

 if(browser.field('name').value == 'Mike'){
     //continue 
   }
4

2 に答える 2

3

アサーションは、テスト用およびバグの表面化用です。どちらも同じようなものです。

基本的に、アサートに入れる条件は、(プログラマーとして) プログラミングしたロジックに従って、絶対に確実に真でなければならないと信じるものです。それ以外は不可能なはずです。

アサーションがトリガーされた場合、プログラマーが不可能だと信じている状態に何かが起こったことを示します。したがって、正しいことは実行を停止することです。

したがって、アサーションは通常、通常のプログラム フロー (エラー チェックを含む) には使用しないでください。それらは、「おっと、ちょっと、これは不可能なはずだ」ということだけに使用する必要があります。

あなたの場合、ifステートメントが存在する可能性falseは絶対に時々起こると予想されるものであるため、アサーションではなくアサーションが必要です。

アサーションの詳細: http://en.wikipedia.org/wiki/Assertion_(computing )

于 2012-07-08T05:30:11.573 に答える
2

assert ステートメントは、単体テストのように、テストに使用されます。テスト エンジンは、assert ステートメントが失敗したときにスローされた特定の種類のエラーをキャプチャし、失敗に関する情報を提供します。優れた単純なテストを作成することは、優れたプログラミングの鍵です。

于 2012-07-08T05:25:31.523 に答える