ディスクに何かを書き込む場所をテストするために、jest
を使用して少し奇妙なことをしています。ただし、jestでwatch
フラグを使用すると、ディスクに何かを書き込むたびにテストが再起動することがわかります(明らかに)。
現在、設定の種類はありません。 documentation を確認しましたが、特定のファイルの監視を抑制するためにどのオプションを使用する必要があるかははっきりしていません。実際のウォッチャーではなく、コードカバレッジ、テスト実行からコードを除外するオプションが表示されると思います。
私の場合、このような設定があり、結果ディレクトリを非表示にしたいだけです。
__tests__
__snapshots__
(jestにより作成)results
(私と除外するディレクトリによって作成された)誰でもこれを行う上で光を当てることができますか?
ドキュメントから、一致する文字列値の配列であるmodulePathIgnorePatternsを追加する必要があります
modulePathIgnorePatterns [array <string>]#
(デフォルト:[])すべてのモジュールパスと一致する正規表現パターン文字列の配列は、それらのパスがモジュールローダーから「見える」と見なされる前に一致します。特定のモジュールのパスがパターンのいずれかに一致する場合、テスト環境ではrequire()-ableになりません。これらのパターン文字列は、フルパスと一致します。 <rootDir>文字列トークンを使用して、プロジェクトのルートディレクトリへのパスを含めて、異なるルートディレクトリを持つ異なる環境にあるすべてのファイルを誤って無視しないようにします。例:['<rootDir>/build /']。
https://facebook.github.io/jest/docs/configuration.html#modulepathignorepatterns-array-string
これを設定に追加...
modulePathIgnorePatterns: ["directoryNameToIgnore"]
または:
modulePathIgnorePatterns: ["<rootDir>/dist/"]
jestテストからディレクトリを除外するには、testPathIgnorePatternsを使用します
"testPathIgnorePatterns": ["directory to ignore"]
package.jsonの下で、「src」ディレクトリを無視するように設定しました
{
"name": "learn-test",
"jest": {
"testPathIgnorePatterns": ["src"]
},
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-scripts": "1.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "jest --watch",
"eject": "react-scripts eject",
},
"devDependencies": {}
}
テストしてはいけないディレクトリがあるときに同じ問題が発生しましたが、__tests__
ディレクトリ(例:__mocks__
)。
@Chris Hawkesがコメントで指摘したように、そのような場合(スラッシュなし)には相対パスを使用しないでください。だからあなたのpackage.json
ファイルの追加:
jest: {
"modulePathIgnorePatterns": ["__mocks__"]
}
これで私の問題は解決しました。