ReactJSアプリケーションをテストするためのテスト自動化ツール

ReactJSアプリケーションをテストすることを計画していて、エンドツーエンドのテストを実行するために市場に出回っている最良のツールを見つけたいと思っていますか?少し調べてみたところ、ReactJSアプリケーションをテストするために利用できるツールはたくさんあることがわかりましたが、エンドツーエンドのテストに使用するのに最適なツールは何ですか?

回答:

自動テストに関しては、「最良のツール」という概念はありません。それはすべて、プロジェクトのコンテキストとツールから何を達成したいかによって異なります。


AngularアプリケーションとReactJSアプリケーションの両方をテストしましたが、使用したのは Selenium WebDriver エンドツーエンドのテストを作成するためのテスト自動化ツールとして。ただし、ReactJSアプリケーションをテストするためのJSベースのテスト自動化ツールとフレームワークの数は増えているようです。これらのツールは、開発者が精通している言語であるJavaScriptに基づいているため、「フロントエンド」開発者の間で非常に人気があるようです。

つまり、テスターは自動化されたエンドツーエンドのテストを作成できるだけでなく、開発者は十分な時間やリソースがない場合にも支援を行うことができます。


以下は、ReactJSアプリケーションをテストするためのテスト自動化ツールとフレームワークのリストです。



ReactJSのテスト自動化ツール

WebDriver.io

WebdriverIOは、のオープンソーステストユーティリティです。 Node.js 。これにより、お気に入りのBDDまたはTDDテストフレームワークでJavascriptを使用して非常に簡単なセレンテストを作成できます。

Nightwatch.js

Nightwatch.js 使いやすいです Node.js ブラウザベースのアプリおよびWebサイト向けのベースのエンドツーエンド(E2E)テストソリューション。強力なを使用しています W3C WebDriver API DOM要素に対してコマンドとアサーションを実行します。

NightmareJS

Nightmareは、 セグメント


裏で、それは使用します 電子 、これはに似ています PhantomJS しかし、およそ2倍速く、より現代的です。

ニッフィー ナイトメアに基づいて構築された知覚差分ツールです。これは、Webアプリのリリース全体でUIの変更とバグを検出するのに役立ちます。

空想 によって構築された無料のChrome拡張機能です @ stevenmiller888 閲覧中にナイトメアスクリプトが生成されます。

です

Jestは、Reactアプリケーションを含むすべてのJavaScriptコードをテストするためにFacebookによって使用されます。 Jestの哲学の1つは、統合された「ゼロ構成」エクスペリエンスを提供することです。エンジニアにすぐに使用できるツールが提供されると、最終的にはより多くのテストを作成することになり、その結果、より安定した健全なコードベースが得られることがわかりました。 Jestはまた、パフォーマンスを最大化するために、ワーカー間でテスト実行を並列化します。


モカ

JestはFacebook開発者の間でReactJSアプリケーションの自動テストを作成するのに人気がありますが、いくつかの問題があります(遅く、モックは混乱を招きます)。モカは人気のある代替品になりました。設定するのはもっと面倒ですが、一見の価値があるかもしれません。 Jestがこれらの主要な問題のいくつかを克服しない限り、将来的にはもっと人気が出ると思います。見る Mochaを使用したReactWebアプリのテスト 始めるために。

分度器

受け入れテストについては、Protectorを検討できます。これは主にSelenium上に構築されたAngularツールであり、より優れたAPIが付属しています。幸い、Reactで動作するように構成することは可能です。このアプローチの良いところは、さまざまなブラウザーに対してアプリケーションをテストできることです。

酵素

Enzymeは、ReactのJavaScriptテストユーティリティであり、Reactコンポーネントの出力のアサート、操作、およびトラバースを容易にします。もともとAirbnbによって開発されましたが、ますます人気が高まっています。あなたはそれをどんなテストランナー(モカ、ジャスミン、…)で使うことができます、そして役に立つがあります チャイ酵素 プラグイン。

Enzyme + Mochaは、ReactJSで記述されたWebアプリケーションをテストするための最良の組み合わせのようです。 ReactJSやMochaを初めて使用する人でも、これらのツールに短時間で簡単に対処できるため、習得は比較的簡単です。