統合ネイティブアプリケーションのジェストとの統合


JESTはJavaScriptテストフレームワークです、そして、それはtypescriptのプロジェクトとともに動きます.
この記事では、インストール方法と設定方法を説明しますjest 反応ネイティブプロジェクトで.

インストール
反応するネイティブプロジェクトinit コマンドjest デフォルトでは.しかし、プロジェクトがJestをインストールしていない場合は、このNPMコマンドで実行できます.
npm install-save-dev jest
また、チェックreact-native プリセットは、あなたのpackage.json ファイル
{
 "scripts": {
 "test": "jest"
 },
 "jest": {
 "preset": "react-native"
 }
}

構成
使用するtransformIgnorePatterns パッケージのjestのプリセットの下に.JSONファイル.
TransformMonoPatternsオプションを使用すると、どのファイルをBabelによって変換されるかを指定できます.多くのネイティブNPMモジュールは残念ながら前に発行する前に自分のソースコードをコンパイルしない反応.
私はreact-navigation 私はTransformMonoPatternsでこのregex値を追加するので、私のアプリにインストールされたパッケージ.
"transformIgnorePatterns": [
 "node_modules/(?!(jest-)?@?react-native|@react-native-community|@react-navigation/(.*))"
]
NPMの依存関係を変換する必要がある場合は、この設定オプションをカスタマイズすることができます.

サンプル関数とそのテスト
ここでは、JESTの公式ドキュメントで定義したサンプル関数を作成しました.畝
私はsum.js ファイルと.単に2つの変数を加えて、結果を返す関数を書きました.
function sum(a, b) {
 return a + b;
}
module.exports = sum;
サンプルテスト関数sum.test.js このように
const sum = require('../src/components/atoms/sum');
jest.useFakeTimers();
test('adds 1 + 2 to equal 3', () => {
 expect(sum(1, 2)).toBe(3);
});

走行試験
今テストを実行するにはnpm run test プロジェクトのルートフォルダでコマンドを実行し、このような結果を得る

結局、私はそれを言いたいだけですrenderer.createApp-test.js ファイルには必ず<App/> 引数としてのコンポーネント.そして<App/> コンポーネントは、<NavigationContainer> タグ.
それはすべて、読書のおかげで、ハッピーコーディング!