Karma-コンソールでJavaScriptをテストする

こんにちは。 率直に言って、私はほとんどテストを書きません。 つまり、もっと頻繁にやりたいのですが、どういうわけかうまくいきません。 リーダーシップは、原則としてそれに反対するものではないようですが、それでもなお、より緊急かつ重要なタスクがあります。 それにもかかわらず、数日前、redmineを見て、実質的に問題がないことを発見しました(より正確には、問題はありましたが、最初にバックエンドを待つことを要求しました)。

さて、テストを思い出す時が来ました(もちろん、それらについてもっと早く考えなければなりませんでしたが、決して遅くない方が良いです)。

一般的に、その前に、バックエンド、特にdjango



を含むテストの作成をすでに試みていました。 それから、ブラウザウィンドウではなくコンソールからテストを実行するのは素晴らしいことだと思いました。 まあ、最近から私は積極的にangular



の開発を追ってきましたので、なぜ彼らがそれを行うのか見てはいけません。 さらに、どういうわけか、目の前から、コンソールでテストが実行されている瞬間を捉えました。 さらに、テストの複雑さをゼロから理解したくなかったので、テスト付きの既成のプロジェクトを取り、それがどのように行われたかを確認し、テストを実行することにしました。 私の選択は、 angular-uiか、むしろそのui-utilsモジュールの1つです。



ダウンロードして、ルートに移動し、テストフォルダーとその中のkarma.conf.jsファイルを確認します

はい、そしてreadme自体には、テストがこのkarma start —browsers ….



ように実行されると書かれていますkarma start —browsers ….





Google karmajsで必要なものを見つけるkarma-runner.github.io/0.8/index.html

テスト用ユーティリティ。 それで彼女は何ができますか?





一般に、私はすでにそれに取り組む十分な機会がありました。 しかし、 jenkins



との統合など、私がまだjenkins



していない他のものがありjenkins







私が言ったように、私は最初に完成したプロジェクトを試すことにしました。 一般的に、私の行動:

 cd ui-utils sudo apt-get install nodejs #         sudo npm install karma -g #  ,      sudo npm install bower #         ui-utils npm install bower install
      
      





それだけです。

ターミナルで実行します。

 karma start --brower=Chrome test/karma.conf.js --auto-watch
      
      





その後、Chromeブラウザを起動します。ここには、「Karma-connected」という碑文が表示されます。

ターミナルに戻ると、いくつかのテストが開始され、すべてが合格したことがわかります。

ここで、テストファイルのいずれかに入ります。これらは、modules / modulename / test / testnameSpec.jsにあります。

どのセクションでもit('...', function() {…..





そして追加

 expect(2).toBe(3); #     jasmin,      
      
      





保存して、コンソールを見て、このようなものを確認してください。

 ............................................................. Chrome 28.0 (Linux) uiMask initialization should not not happen if the mask is undefined or invalid FAILED Expected 2 to be 3. Error: Expected 2 to be 3. at null.<anonymous> (/home/mn/Documents/www/temp/ui-utils/modules/mask/test/maskSpec.js:25:17) .......................................................................... Chrome 28.0 (Linux): Executed 136 of 136 (1 FAILED) (1.016 secs / 0.642 secs)
      
      





テストに失敗しました。



ご覧のとおり、テストは保存されると自動的に実行されます。

2台のモニターを使用すると特に便利です。 1つ目ではコードを記述し、2つ目では端末をハングアップし、すぐに現在のステータスを表示します。 場合によっては、ブラウザをまったく見る必要はありません。

テストは保存されるたびに実行されるため、ちらつき、場合によっては邪魔になります。 この場合、次のコマンドを使用できます
 karma run
      
      





すなわち、最初に実行する必要があります

 karma start test/karma.konf.js —no-auto-wath
      
      





そして、別のターミナルで実行します
 karma run
      
      





したがって、テストは手動で開始されます。

もちろん、私はカルマのすべての特徴とはほど遠いことを述べてきました。 むしろ、この投稿では、この興味深いユーティリティに注意を引きたいと思いました。 そのため、 サイトにアクセスして自分の目で確かめてください。



PS karma



もちろん、 angular



テストだけでなく、一般にjsの他のクライアントコードにも使用できます。 現在のプロジェクトでは角度を使用していませんが、カルマでのテストは非常に便利です。



PS以前、このユーティリティはtestacular





と呼ばれていtestacular





testacular








All Articles