Wallaby.js-素晴らしい未来を持つ小さな獣

タイプライターをよく見かけますが、今日は理由があります。



多くの人はJavaScriptのテストを書き、一部の人は多くのテストを書きます。 Jasmine、Mocha、QUnitなどの一般的なテストフレームワークがいくつかあり、テストを自動的に実行するツールもあります。 それらの一部は、一部のコードエディターに統合されています。 たとえば、カルマランナーとモカは、WebStormの同僚によって完全に統合されています。 つまり、テストを自動的に実行し、1〜数秒以内に結果を取得するさまざまな方法があります。 ただし、時間はテストの数と性質によって異なります。



JavaScriptテストの使用方法





そして、すべてがうまくいきますが、ここではプロジェクトのJavaScriptコードの量の平均サイズが成長しています。 ますます多くのコード、ますます多くのテストがあり、完了するまでに時間がかかります。 そして今、その時が来て、遅かれ早かれ、コードを編集するときに何百、何千ものテストを実行するのがやや不快になるとき、必然的に来るでしょう。 いいえ、もちろん、すべてのテストが実行されるCIビルドが構成されています。テストカバレッジに関する生成されたレポートを監視し、クラウドまたはホームソリューションを使用して、さまざまなブラウザーやその他のインターネットエクスプローダーでテストを実行します。 しかし、これらすべては、私たちが人生で最高の年を過ごす場所、つまりJavaScriptコードの大部分を書く場所に実際には役立ちません。



優れたテストはそれぞれ有益であり、JavaScriptのあまり優れていないテストでさえ、少なくともコンパイラの役割を果たします。なぜなら、実行中の静的解析にアクセスできないすべての妨害を誓うからです。 問題は、テストの巨大な可能性を非効率的に使用するのと同じように、人間が脳の能力を十分に活用していないことです。 ビルドサーバーにほこりを集めることはできませんでしたが、キーが押されるたびに実行され、すぐに有用な情報を提供し、この特定の瞬間に書いているコードの問題を即座に強調します。 そうでなければ、1日1回しか運転しないスポーツカーがあり、それでも子供を学校に連れて行くことができます。



獣をケージから解放する時が来ました!





獣はワラビーと呼ばれ、私(およびカンガルー)が長年住んでいた大陸に住んでいるカンガルーほどの有袋類の動物です。



それで、知り合いになってください: wallaby.jsは、テストを自動的に実行するためのスマートなツールであり、私はほんの1週間前(もちろん、オーストラリアの日に)書いてリリースしました。 毎週の時代にもかかわらず、ワラビーはすでにJavaScript開発者コミュニティの間でかなりの関心を集めており、すでに実稼働で使用されています。 これは、3つの簡単な原則に基づいています。



1つ目は、 一定のテスト範囲です。 取材といえば、退屈な数字や綿密なタイプの取材を意味するものではありません。 新しい機能を作成するとき、または既存の機能を編集するとき、カバレッジの81%または92%を気にしません。 コードを書くとき、毎秒それを知ることは重要ではありません。 私が見たいのは、目立たず、コードを書く場所であまり注意をそらすものではありません。



二番目。 私が知っているように、1つまたは複数のテストでカバーされているある種のテストまたはコードを編集する場合、なぜ私のツールはそれを知り、この知識を賢く使用できないのですか? 必要なのは、コードに変更を加えたときに、その変更の影響を受けるものだけ実行されることです。それ以上でもそれ以下でもありません。



三番目。 コードの変更で複数のテストファイルを実行する必要があり、テストファイルが独立している(そして独立している必要がある)場合、システムの可能性を十分に活用して、テストを並行して実行します



これら3つのシンプルな原則、およびコードエディターとの深い統合(現在、 WebStorm、PhpStorm、IntelliJ IDEA Ultimate、PyCharm Professional、RubyMineVisual Studioのプロセスでのサポート-以下のツイートのスクリーンショット)、人気のあるテストフレームワークのサポート( Jasmine、Mocha 、QUnit )、エラーメッセージとconsole.logメッセージが発生した場所に表示されるため、テスト実行のスクリーンショットはwallaby.jsでできることの一部にすぎません。







テストははるかに効率的に使用できるようになり、レースカーの例えに戻ります-ワラビーとガスの無料ベータ版をフロアにインストールします!






All Articles