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が必要なのは自分自身に尋ねました 。 これに関連して、コミュニティに質問したいのですが、最も頻繁に使用するテストは何ですか? 基本的にどのテストが必要ですか?



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



All Articles