Jest 15.0:Jestの新たなデフォルト設定
このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →
この1年間、私たちはJestを高速化し、設定を簡素化し、数多くの機能を追加し、スナップショットテストを構築してきました。しかし、CLI出力とユーザー体験という2つの領域にはほとんど注力してきませんでした。Jest 15では、フレームワークを根本的に変革し、初心者から上級ユーザーまでがより簡単に利用できるようにします。Jestへの投資が実を結び、Facebookとオープンソースコミュニティのために高速でフレームワークを改善できることを嬉しく思います。Jestの目標は「すぐに使える機能を備えること」と「最小限の設定で動作すること」です。この設計思想については、最近create-react-appのissueで説明する機会がありました。
最も重要な変更点は一連の新デフォルト設定です。既存のJestユーザーはJest 15への設定更新がほぼ必須となります。多くの場合、設定は簡素化され、アップグレード中にJestが有用なエラーメッセージを提供します。新しいデフォルトはすべて無効化できますが、無効化された機能も特定の状況では重要であり、Facebookでは長期的に使用・サポートを継続します。APIドキュメントもこれらの変更を反映して完全に書き直されました。Reactのこのプルリクエストには既存プロジェクトで必要な変更の一部が示されています。
新CLIエラーメッセージと要約表示
Jest内のJasmineを段階的に置換する取り組みの一環として、Jasmineマッチャーの置き換えがほぼ完了しました。各マッチャーのエラーメッセージを徹底的に調整し、テストが失敗した際(Jestが最大の価値を提供すべき瞬間)にユーザーへ最適な情報を伝達できるようにしました。期待値と実際の値の表示に加え、toBeおよびtoEqualマッチャーでは差分表示が追加され、間違いの発見を支援します。色表示も強化され、スタックトレース内の関連ファイルがより目立つよう強調表示されます。
明るいターミナルでの変更前後の比較:
暗い配色でも良好に動作: 
新ウォッチコマンド
jest --watchを完全に書き換え、よりインタラクティブにしました。aまたはoキー押下で全テスト実行と変更ファイル関連テストの切り替えが可能に。pキーでテストパターン指定プロンプトが表示され、特定ファイルセットに焦点を当てられます。uキーでスナップショットテストを更新できます。

jest-react-nativeの改善
ListView、TextInput、ActivityIndicator、ScrollViewなどのモックが追加されました。既存モックは実際の実装を使用するよう更新されたため、Jest 15へのアップグレード時には既存スナップショットの更新がほぼ必須です。ネイティブコンポーネントのモック化に使用できるmockComponent関数がjest-react-nativeに追加されました:
jest.mock('MyNativeComponent', () => {
const jestReactNative = require('jest-react-native');
return jestReactNative.mockComponent('MyNativeComponent');
});
画像モック、フェッチモジュール、その他ネイティブAPI周りでも多数の改善が行われています。
