らいふうっどの閑話休題

興味のあることをゆる~く書いていく

Most in-demand JavaScript testing tools in 2020 の翻訳

Most in-demand JavaScript testing tools in 2020 - LogRocket Blog の翻訳です。

f:id:ic_lifewood:20200104163134p:plain

この記事では、2020年に中心となる JavaScript テストフレームワークを示すために、2019年の JavaScript の状態レポートのレビューと分析を行います。

JavaScript の状態

2019 年を迎えて、世界中の 21,000 人以上の開発者を調査した State of JS からの洞察に反映されている JavaScript の状態を見ていきます。

StateOfJSとは何ですか?

State of JS は基本的にすべての JavaScript の年次調査であり、調査を行う開発者の意見が記録され、その年の JavaScript の状態を示す洞察を示すために美しく視覚化されます。

データポイントには、フロントエンド Web 開発フレームワーク、データベース、状態管理、フレームワーク間の関係、受信と使いやすさ、 JavaScriptコンパイルされる言語、モバイルフレームワーク、ビルドツール、 JavaScript テストツールなどが含まれます。

これは、2016 年に Sacha Greif と他の数人の協力者によって開始された非常に包括的な JavaScript 調査です。 現在、この最新版では 21,000 を超える開発者の回答があります。

StateOfJS を選ぶ理由

私の意見では、 State of JS は実際には JavaScript のみに関する開発者アンケートとしては初めてのものであり、 JavaScript コミュニティに関する限りでは広く尊敬されています。

100,000 人以上の回答者を集めた StackOverflow 開発者調査のような他の非常に人気のある調査があります。 Jetbrain の State of Developer Ecosystem Report も非常に包括的で、6,000人を超える回答者がいます。

テストツール

調査の洞察によれば、これらは 2019 年の JavaScript 開発者による最も需要の高いテストツールであり、認識、関心、満足によって決定された重要度順に並べられています。

Jest

f:id:ic_lifewood:20200104170217p:plain

Jest は、 Facebook のチームによって構築され、常に保守されている最も人気のある JavaScript テストフレームワークの1つです。 これは、 React が推奨するゼロ構成の JavaScript テストフレームワークであり、最も使いやすいものです。

Jest は 2018 年に非常に印象的な受け入れ率を持ち、さらに今年は JavaScript コミュニティの中でさらに受け入れられています。 GitHub のデータによると、 Jest は現在 150 万以上のプロジェクトで使用されています。

過去 12 か月で、保持率は 39 %から 61 %に大幅に増加しました。 これは 2017 年から 2018 年にかけて増加したため、再発率です。

また、 Jest に興味を持つ人の割合が減少しました。 数は現在 29 %から 22 %に減少しています。 それらのほとんどは、リテンションインサイトによって示されるように、現在はリピーターユーザーです。

Mocha

f:id:ic_lifewood:20200104171021p:plain

Mocha は何年もの間、最も使用されている JavaScript テストフレームワークの1つです。 サードパーティアサーション、モック、 Chai や Enzyme などのスパイツールで使用されます。 大規模なエコシステムの他に、 Mocha には優れたドキュメントを備えた十分に確立されたオプションがあります。

これは非常に柔軟で、多くの拡張機能に対してオープンです。 GitHub のデータによると、 Mocha は 900,000 以上のプロジェクトで使用されています。

調査の洞察によると、保持率は過去 12 か月で 39 %から 42 %に増加しました。 回答者の約 8 %は、 Mocha について聞いたことがない。また、昨年 10 %だったため、 Mocha が常に埋めている認識のギャップがあります。

Storybook

f:id:ic_lifewood:20200104171457p:plain

Storybookは、UIコンポーネントの開発環境です。

コンポーネントライブラリの参照、各コンポーネントのさまざまな状態の表示、およびコンポーネントインタラクティブな開発とテストを行うことができます。 GitHub で約 44,000 回主演されており、大規模なユーザーベースを持っています。

Storybook を使用した保持率は、12 か月で 15 %から 32 %に倍増し、同じ時間枠で関心レベルも 23 %から 26 %に上昇しました。

Storybook は昨年、デベロッパーの注目を集めていませんでしたが、 2019 年に大きく成長し、 2020 年に向かっています。興味深い年になります。

Cypress

f:id:ic_lifewood:20200104171832p:plain

Cypress は、非常に高速で信頼性の高い JavaScript テストツールです。 基本的に、 Web アプリケーションにテストを挿入し、非常に明確で広範なドキュメントを提供し、 TestCafe と呼ばれる別のテストフレームワークと常に競合しています。

GitHub のデータによると、25,000 以上のプロジェクトで使用されています。

Cypress の保有率は 23 %、金利は 28 %です。 認識のギャップがあり、Cypress はそれを埋めるために取り組んでいます。

Enzyme

f:id:ic_lifewood:20200104172041p:plain

Enzyme は、 React の JavaScript テストユーティリティであり、 React コンポーネントの出力を簡単にテストできます。 また、出力を指定してランタイムを操作、トラバース、およびいくつかの方法でシミュレートすることもできます。

Enzyme の API は、 DOM 操作およびトラバーサル用の jQueryAPI を模倣することにより、直感的で柔軟なものにすることを目的としています。

保持率は過去 12 か月で 20 %から 23 %に増加しました。 46 %から 38 %に至るまで、認識のギャップを埋めます。

Ava

f:id:ic_lifewood:20200104172642p:plain

Ava は Node.js のテストランナーであり、簡潔な API 、詳細なエラー出力、新しい言語機能の採用、テストをより効果的に記述できるプロセス分離を備えています。

Ava を使用すると、さらに素晴らしいコードを出荷できます。 GitHub のデータによると、現在 47,000 のプロジェクトで使用されています。

昨年、 JavaScript 開発者の約 72 %が Ava について知っていました。 今年、その数は 69 %に減少し、保持率は 5 %に増加しました。

Jasmine

f:id:ic_lifewood:20200104173008p:plain

Jasmine は、 JavaScript の動作駆動開発テストフレームワークです。

ブラウザ、 DOM 、または JavaScript フレームワークに依存しません。 その結果、 Web サイト、 Node.js プロジェクト、または JavaScript を実行できるあらゆる場所に適しています。

調査の洞察によれば、保持率は過去 12 か月でわずかに増加しました。 ただし、 Jasmine は 2020 年に橋渡しを試みることができる意識のギャップが大きくなっています。

Puppeteer

f:id:ic_lifewood:20200104173329p:plain

Google のチームによって構築された Puppeteer は、 DevTools プロトコルChrome または Chromium を制御するための高レベル API を提供する Node ライブラリです。

Puppeteer はデフォルトでヘッドレスで実行されますが、フル(ヘッドレスではない) Chrome または Chromium を実行するように構成できます。 また、ネイティブなので高速です。

調査の洞察では、Puppeteer の保持率は 24.3 %、金利は 24 %です。 55,000 以上のプロジェクトで既に使用されていますが、この製品にはより多くの認知度が必要です。

要約

Puppeteer と Cypress は、今年 JavaScript 開発者によって特定された新規参入者です。 2016 年以来、 Mocha 、 Jasmine 、 Jest 、 Enzyme 、 および Ava です。

開発者からテストツールまでの種類が均等に分布しているようですが、 Jest は 96 %以上のユーザーがリピーターで市場をリードしているようです。

どのテストフレームワークを使用していますか? コメント欄で教えてください。

プラグ: LogRocket 、 Web アプリ用の DVR

f:id:ic_lifewood:20200104174002p:plain

LogRocket は、問題を自分のブラウザで発生したかのように再現できるフロントエンドアプリケーション監視ソリューションです。 LogRocket では、エラーが発生した理由を推測したり、スクリーンショットやログダンプをユーザーに要求したりする代わりに、セッションを再生して、問題の原因をすばやく把握できます。 フレームワークに関係なく、どのアプリでも完全に動作し、 Redux 、 Vuex 、 及び @ngrx/store から追加のコンテキストを記録するプラグインがあります。

Redux のアクションと状態のログに加えて、 LogRocket はコンソールログ、 JavaScript エラー、スタックトレース、 headers + bodies を含むネットワーク requests/responses 、 browser metadata 、カスタムログを記録します。 また、 DOM を器具して HTML と CSS をページに記録し、最も複雑な単一ページのアプリでさえも完璧な動画を再現します。

React アプリの完全な可視性

React アプリケーションのデバッグは、特にユーザーが再現するのが難しい問題を経験する場合、困難になる可能性があります。 Redux の状態の監視と追跡、 JavaScript エラーの自動表示、遅いネットワーク要求とコンポーネントの読み込み時間の追跡に関心がある場合は、LogRocket を試してください。

f:id:ic_lifewood:20200104175234p:plain f:id:ic_lifewood:20200104175100p:plain

LogRocket は Web アプリの DVR のようなもので、文字通り React アプリで発生するすべてを記録します。 問題が発生する理由を推測する代わりに、問題が発生したときのアプリケーションの状態を集計して報告できます。 LogRocket は、アプリのパフォーマンスも監視し、クライアント CPU 負荷、クライアントメモリ使用量などのメトリックでレポートします。

LogRocket Redux ミドルウェアパッケージは、ユーザーセッションに可視性のレイヤーを追加します。 LogRocket は、 Redux ストアからのすべてのアクションと状態を記録します。

React アプリのデバッグ方法を最新化してください - 無料で監視を開始してください。

無料でお試しください。