334

Jest テスト フレームワークで ESLint リンターを使用しようとしています。

Jest テストは のようないくつかのグローバルで実行されjestます。これについては、リンターに伝える必要があります。しかし、注意が必要なのはディレクトリ構造です。Jest では、テストはソース コードと共に__tests__フォルダに埋め込まれているため、ディレクトリ構造は次のようになります。

src
    foo
        foo.js
        __tests__
            fooTest.js
    bar
        bar.js
        __tests__
            barTest.js

通常、すべてのテストを単一のディレクトリの下に置き、そこにファイルを追加してグローバルを追加できます...しかし、すべてのディレクトリにファイルを.eslintrc追加したくないのは確かです。 .eslintrc__test__

今のところ、テスト グローバルをグローバル.eslintrcファイルに追加しただけですが、これjestは非テスト コードで参照できるようになったことを意味するため、「正しい」ソリューションとは思えません。

ディレクトリ名などに基づいたパターンに基づいてルールを適用するように eslint を取得する方法はありますか?

4

13 に答える 13

836

ドキュメントは、追加できるようになったことを示しています。

"env": {
    "jest/globals": true
}

.eslintrcjest に関連するすべてのものを環境に追加し、リンター エラー/警告を排除します。

plugins: ["jest"]esconfigに含める必要がある場合がありますeslint-plugin-jest。それでも機能しない場合は、プラグインを追加してください。

于 2016-10-26T14:45:30.433 に答える
2

Pattern based configs are scheduled for 2.0.0 release of ESLint. For now, however, you will have to create two separate tasks (as mentioned in the comments). One for tests and one for the rest of the code and run both of them, while providing different .eslintrc files.

P.S. There's a jest environment coming in the next release of ESLint, it will register all of the necessary globals.

于 2015-07-31T22:01:16.443 に答える