10の信頼できるJavaScriptテストツール

JavaScriptコードをテストする必要性は簡単です。バグを防ぎ、アプリケーションがブラウザーまたはNode.jsでスムーズに実行されるようにする他の方法はありますか?幸いなことに、JavaScriptのテストに関しては、開発者には多数のオプションがあります。

単体テスト、統合テスト、機能テスト用のテストランナーとフレームワークは、JavaScriptエコシステムですぐに利用でき、Node.jsとブラウザー、およびAngularフレームワークとReactフレームワークを対象としています。以下は、JavaScript開発者がアプリのテストを支援するために必要な多くの注目すべきオプションのうちの10個です。

エイバ

AVAはNode.jsのテストランナーであり、簡潔なAPI、詳細なエラー出力、新しい言語機能とプロセス分離のサポートを提供します。AVAは、Node.jsモジュールとサーバーアプリケーションのテストに最適ですが、UIアプリケーションのテストにはおそらく適していません。その機能の中で、AVAはテストを「やること」タスクとしてマークする機能を提供します。各テストファイルの実行は個別のプロセスです。引用されているその他の利点には、AVAのミニマリズムと速度、単純なテスト構文、およびテストを同時に実行する機能が含まれます。AVAは、非同期関数とオブザーバブルもサポートしています。オブザーバブルは、DOMイベントなどのプッシュベースのデータソースをモデル化するために使用できるタイプです。

AVAをインストールします

AVAのインストール手順は、プロジェクトのGitHubページにあります。

Cucumber.js

CucumberテストツールのJavaScript実装であるCucumber.jsは、維持されているNode.jsバージョンと最新のWebブラウザーで実行されます。Cucumberプロジェクトは、チームのコミュニケーションや「わかりやすい」言語で書かれた自動テストを実行する機能などの利点を挙げています。つまり、チームの誰もがそれらを読むことができます。したがって、コミュニケーション、コラボレーション、および信頼を向上させることができます。Cucumber.jsには、テストスイート(機能と呼ばれる)を実行するための実行可能ファイルが含まれているため、グローバルにインストールすると機能しません。(サポートファイルにはキュウリが必要であり、グローバルにインストールされたモジュールは必要ありません。)

Cucumber.jsをインストールします

Cucumber.jsのインストール手順は、GitHubで入手できます。

酵素

Enzymeは、React JavaScriptUIライブラリのテストユーティリティです。これは、Reactコンポーネントの出力を簡単にテストできるようにすることを目的としています。開発者は、出力を指定してランタイムを操作、トラバース、およびシミュレートできます。Enzyme APIは、DOMの操作とトラバーサルのためにjQueryAPIを模倣しています。酵素は、テストランナーまたはアサーションライブラリについては非ピニオンです。開発者がカスタムアサーションと便利な関数でEnzymeを使用してReactコンポーネントをテストしたい場合はchai-enzyme、Mocha / Chai、jasmine-enzymeJasmine、またはjest-enzymeJestを検討できます。Enzymeは、ReactNativeコンポーネントのテストにも使用できます。

Enzymeをインストールする

Enzymeのインストール手順は、GitHubにあります。 

カルマ

Karmaは、複数のブラウザーでコードを実行できるJavaScriptのテストランナーです。モバイルブラウザを含むすべての主要なブラウザがサポートされています。プロジェクトの背後にいる開発者は、Karmaは、開発者が構成の負荷を設定する必要がないが、コードを記述し、テストから即座にフィードバックを得ることができる環境を提供すると言います。Karmaは、低レベル(単体)テスト用に設計されています。テストフレームワークやアサーションライブラリではなく、KarmaはHTTPサーバーを起動し、開発者のお気に入りのテストフレームワークからテストランナーファイルを生成します。プラグインは、Jasmine、Mocha、QUnitなどのフレームワーク用に提供されています。

Karmaをインストールする

Karmaのインストール手順は、GitHubで入手できます。

ジャスミン

Jasmineは、JavaScriptをテストするための「ビヘイビア駆動」フレームワークとして請求されています。他のJavaScriptフレームワークに依存せず、DOMを必要としません。その支持者は、その構文をテストの簡単な記述を可能にするものとして引用しています。JasmineはPivotalLabsによって管理されており、Webサイト、Node.jsプロジェクト、およびJavaScriptを実行できるその他すべてのテストに適しています。Jasmineは、さまざまなユースケースやブラウザーにテストを容易にすることを目的としており、JavaScriptフレームワークに依存しないため、開発者はReact、Angular、またはその他のJavaScriptライブラリからコードをテストできます。ジャスミンは、小さくてメンテナンス可能でありながら、依存関係を最小限に抑えるよう努めています。

Jasmineをインストールします

JasmineのインストールとJasmineの使用を開始する手順については、GitHubをご覧ください。

冗談

Jestは、ほとんどのJavaScriptプロジェクトで、構成なしですぐに使用できる包括的なJavaScriptテストソリューションとして請求されます。テストには固有のグローバル状態があり、並行して実行できます。以前に失敗したテストが最初に実行され、テストファイルの長さに基づいて実行が再編成されます。Angular、Babel、Node.js、React、Vueなどの一般的なJavaScriptテクノロジーで動作します。テストを実行して大きなオブジェクトを追跡し、スナップショットをテストと一緒に配置するか、インラインで埋め込むことができます。テストファイルでは、Jestはメソッドとオブジェクトをインポートする必要なしにグローバル環境に配置します。

Jestをインストールする

Jestのインストール手順は、GitHubにあります。 

ルナ

Lunaは、設定を必要としないJavaScript用の独創的な単体テストフレームワークです。製品ドキュメントによると、開発者は最初の単体テストを数分以内に実行できます。コードカバレッジレポートは、他のモジュールをインストールせずに生成されます。テストはES6モジュールとして作成する必要があり、デフォルトではブラウザーでテストが実行されます。並行性がサポートされており、テストグループは並行して実行されます。Lunaは、GoogleのGo言語で利用可能な組み込みテストに部分的に触発されました。Lunaはトランスパイルに対応していないため、CoffeeScriptまたはTypeScriptでは機能しません。また、古いブラウザのサポートもありません。 

Lunaをインストールする

Lunaのインストール手順は、GitHubで入手できます。 

モカ

Node.jsとブラウザーで実行される機能豊富なテストフレームワークであるMochaは、非同期コードのテストを「シンプルで楽しい」ものにすることを約束します。テストは連続して実行されます。提案者は、捕捉されなかった例外を正確なテストケースにマッピングしながら、正確で柔軟なレポートを作成できると述べています。継続的テストの場合、開発者はWallaby.jsツールを使用して、任意のアサーションライブラリでMochaのリアルタイムコードカバレッジを有効にできます。Mochaは、開発者がMochaを使用してRuby on RailsアプリケーションでJavaScriptをテストできるようにする、Konachaなどのアプリケーションフレームワークとも統合されます。Visual Studio Code用のMochaサイドバー拡張機能など、多数のエディタープラグインも利用できます。 

Mochaをインストールします

Mochaのインストール手順と、Mochaの多くの機能のドキュメントは、プロジェクトのWebサイトで入手できます。 

分度器

Protractorは、Angularとその前身であるAngularJSのエンドツーエンドのテストフレームワークです。テストはブラウザ内のアプリケーションに対して実行され、Proctractorはユーザーと同じようにアプリケーションと対話します。セットアップなしでAngular要素をテストするために、Angular固有のロケーター戦略がサポートされています。自動待機機能により、Protractorは、Webページが保留中のテストを完了した瞬間に、テストの次のステップを実行できます。Protractorは、テストに使用されるSeleniumブラウザー自動化ツールのJavaScript実装であるWebdriverJSの上に構築されました。

分度器をインストールします

分度器のインストール手順は、分度器のWebサイトにあります。 

QUnit

QUnitは、JQuery、jQuery UI、およびjQueryMobileプロジェクトで使用されるJavaScript単体テストフレームワークです。実際、QUnitは元々、jQueryの発明者であるJohnResigによってjQueryの一部として開発されました。QUnitは、高速で使いやすいものとして請求されており、APIは意見が分かれていますが、無駄がなく拡張可能であり、一般的なJavaScriptコードのテストに使用できます。テストまたはアサーションが失敗した場合、QUnitは、問題を理解するのに十分な詳細とともに、可能な限り迅速にフィードバックを提供することを約束します。QUnitのアサーションメソッドは、CommonJSユニットテスト仕様に従います。QUnitは、Chrome、Edge、Firefox、Internet Explorer、Safariのバリアントを含む、jQuery3.xに基づくブラウザーをサポートします。

QUnitをインストールします

QUnitは、QUnitWebサイトまたはjQuery.cdnからダウンロードしてインストールできます。