皆さん、こんにちは!Testing Library ツールファミリーの最近のアップデートを発表できて嬉しく思います!いつも通り、アプリケーションのリリースに自信を持てる最高のツールを提供することに尽力しています。そのため、私たちが取り組むすべてのことの指針となる原則は、
この指針は私たちの方向性を示し、テスト分野で多くの成果を上げることができました。私たちのミッションをさらに推進するために、Testing Libraryの世界で起こっている変化に関するいくつかの発表をしたいと思います。
dom-testing-library v4 リリース!
これは実際にはかなり小さなリリースですが、それでも言及する価値があると思います。私たちは破壊的変更を最小限に抑えるように努めています。このリリースには、2つの破壊的変更しかありません。1つは、おそらく使用していなかった非推奨メソッドの削除であり、もう1つはテストにおける潜在的なバグを明らかにするものです。そのため、ほとんど労力をかけることなく、このバージョンにアップグレードできるはずです。
破損が発生した場合は、おそらくこのようなことが原因です。
これにより、バグをより効果的に検出できることを願っています!
react-testing-libraryとcypress-testing-libraryは既にアップデートされており、このアップグレードに対応するために独自のメジャーバージョンアップがリリースされています。他のラッパーも、それぞれのメンテナーのスケジュールに基づいて、すぐに追随する予定です。
GitHub上のTesting Library
Testing Libraryプロジェクトファミリーを管理するために、GitHubに新しい組織を作成しました。「Testing Library」の最高の点は、コードではなく、その背後にある哲学です。そのため、この組織を使用して、同じ哲学と一般的なユーティリティを共有するすべてのプロジェクトをグループ化します。そのため、Vue、Cypress、React(Native)のいずれを使用している場合でも、使い慣れた優れたテストツールを利用できます。
現在(または近日中に)組織のメンバーになるものをご紹介します。
- dom-testing-library
- react-testing-library
- cypress-testing-library
- vue-testing-library
- native-testing-library (React Native)
- pptr-testing-library (Puppeteer)
- bs-react-testing-library (ReasonReact)
- testcafe-testing-library
- user-event
- jest-dom
- jest-native
(最終的にはAngularとEmberも追加される予定です)。
素晴らしいのは、お好みのJavaScriptフレームワーク用のラッパーを構築することが非常に簡単であることです(TestingJavaScript.comで説明しています)。そして、下記のように、これらの同じ原則をDOM以外のプラットフォームにも適用できます!
Open Collective上のTesting Library
Testing Libraryツールのファミリーが少しでも価値を提供してくれたのであれば、新しいOpen Collectiveへの寄付を(あなた自身またはあなたの雇用主が)検討することをお勧めします。
このOpen Collectiveで集められた資金は、以下の目的のために使用される予定です。
- 慈善団体やその他の善行への寄付
- Testing Library関連商品の購入(ステッカー、Tシャツなど)
- ホスティング/ドメインなどの費用支払い
現時点では、プロジェクトに取り組んでいる人に報酬を支払う計画はありませんが、将来的に意味のある場合はそうする権利を留保します。
Twitter上のTesting Library
TwitterではTesting Libraryの世界で多くの会話が行われているため、フォローして最新情報を入手できるTwitterアカウントを作成しました。
Spectrum上のTesting Library
react-testing-libraryでは非常にアクティブなSpectrumコミュニティがありました。現在、それをより一般的なTesting LibraryのSpectrumに移行しているところです。これにより、さまざまなラッパーに関するすべての議論を1か所にまとめることができます。Spectrumコミュニティには600人以上のメンバーがいます(そこで非常に役立ってくれたGiorgioさんには特に感謝申し上げます)。ぜひご参加ください!
React Native上のTesting Library
React Nativeのテスト分野に対する素晴らしいソリューションを発表できて本当に嬉しいです。前述のように、DOMはネイティブとはかなり異なりますが、Testing Libraryを本当に素晴らしいものにしているのはコードではなく概念です。Brandon Carrollがそれらの概念をReact Nativeのソリューションにうまく移植してくれたことを嬉しく思います。React Nativeアプリケーションを構築していて、変更を加えても動作し続けるという確信を得たい場合は、ぜひ試してみてください!
Testing Libraryを学ぶ
コンテンツ分野では、Testing Libraryの原則とツールに関して多くの活動がありました。学習資料をリストしたページがあり、毎日さらに追加されています。Testing Libraryツールのファミリーに関するブログ投稿、YouTube動画、コース、その他何でもご存知でしたら、リストへのご協力をよろしくお願いします!
その他のエキサイティングなニュース
数ヶ月前、Reactチームは公式にreact-testing-libraryの使用を推奨しています。これは素晴らしいことです :)
React Amsterdamのオープンソースアワード授賞式で、react-testing-libraryがコミュニティへの最もインパクトのある貢献として表彰されました!
react-testing-libraryは、ThoughtWorks Technology Radarでも「企業にどのような影響を与えるかを理解することを目的として調査する価値がある」テクノロジーとして認められました。私たちもそう思います :)
特別な感謝
各プロジェクトには多くの貢献者がおり、組織内のほとんどのプロジェクトでは、貢献者の表を見つけることができます。私たちは、人々がプロジェクトに貢献してくれたことに非常に感謝しています。また、Testing Libraryツールファミリーとコミュニティに特に大きな影響を与えてくれた人々にも特別な感謝を述べたいと思います。
私自身 👋、Alex Krolick、Brandon Carroll、Giorgio、Ernesto García、そしてDaniel Cook。
前述のように、コミュニティに多大な貢献をした多くの人々がいますが、これらの個人は特に素晴らしい仕事をしたと私は思います。ありがとうございました!
結論
使用しているプラットフォームに関係なく、Testing Libraryファミリーの指針原則はそのプラットフォームのテストに適用できます。一歩下がって、テストがソフトウェアの使用状況をどの程度反映しているかを検討してください。可能であれば、他の人がそのようにソフトウェアをテストできるようにする、軽量ながらも強力なユーティリティについて検討し、そのためのライブラリを作成してください!もしかしたら、Testing Libraryツールのファミリーに加わるかもしれません!