Test.it v1.1.0がリリースされました-次は何ですか?

こんにちは、Habr。
バージョン1.1.0 test.it昨日リリースされました-jsコードをテストするためのフレームワークです。
彼はついに機能的になりましたが、それが不足しているので劣っていました:他のささいなことと同様。

注目を集める画像
たくさんの言葉が嫌いな人-動作中のコードを見ることができるサイトGitHubWiki

変更履歴




新機能


チェーンリンク.addtrace(レベル)-test / group-実行につながった行のリストにトレースを追加します。
level-表示される行数(またはトレースが上がるスコープの深さ)を設定します。
このメソッドは、ユーザーvk Denya Tatarinovのリクエストで追加されました。これは、多数の非同期呼び出し(テスト)を監視するのに役立つという説明がありました。
私はすべてのajaxリクエストをログに記録する良い習慣を持っています。 より正確には、サーバーからの応答。 そして、ある種のでたらめが起こったとき、私はそれが起こった行を知りたいです)ここにおいを書いてはいけない、これは各呼び出しの45行目です。 +コードでナビゲートするのに役立ちます

このタスクでは、1行(現在)の出力だけで十分ですが、混乱を招くコードを追跡する必要があるユーザーを知ることはできません。
例とスクリーンショット
(function firstFunction() { (function secondFunction() { (function lastFunction() { test.it(1).addTrace(0); //     test.it(1).addTrace(); //    })(); })(); })(); 
addTrace


.Time chain preparer-テスト出力に、実行(または結果がテストに渡された関数の実行)に費やされた時間を追加します
これはメソッド、つまり属性ではないことに注意してください。 その後に括弧を入れないでください!
例とスクリーンショット
 test.time.it(someThing()); 
時間


チェーン準備機能を除外 -テストまたはグループが現在のレベルのスタックに到達するのを防ぎます。 これも属性ですので、その後に括弧を入れないでください!
非同期テストに役立つ場合があります。
 alert(test.exclude.it(someThing).result()); // alert    test.exclude.group('some group',function(){ ... }).done(); //    


個々のテストとグループを表示する

最後に、これらすべての.groupが意味をなしました!
.done() -それが表示された方法と場所に応じて表示されます:


非同期テスト


新しい.done()動作(および少しの.exclude )のおかげで、非同期テストが利用可能になりました。
 var a = false; // ,     2  setTimeout(function () {a=true}, 2000) //  ( )   setTimeout(function () { test.group('async tests',function(){ test.it(a).comment('   '); }).comment('async group').done(); //   }, 1000); setTimeout(function () { test.exclude.it(a).comment('  ').done(); //  ,     root }, 3000); 
〜3秒後、コンソールは次のことを行います。
非同期

藤堂


さて、すでに行われたことを磨くことに加えて、優先度の高いタスク-node.jsおよび同様の言語(?)への移植を行いました

参照資料


動作中のコードを見ることができるサイトGitHubWiki

PS


私がリファクタリングを行っている間に、実際にtest.themtest.typesが必要なのは自分自身に尋ねました 。 これに関連して、コミュニティに質問したいのですが、最も頻繁に使用するテストは何ですか? 基本的にどのテストが必要ですか?

調査では、このフレームワークのテストのみを示しますが、コメントでは、他の言語を含む他のフレームワークのテストについて説明できます。

Source: https://habr.com/ru/post/J190200/


All Articles