こんにちは。野中やすおです。
最近テストコードを書く際にconsistent-test-itというESLintエラーで怒られてしまいました。ということで一体どういう設定なのかを調べてみました。
consistent-test-itとは何か?
JavaScriptやTypeScriptのテストフレームワーク( JestやVitestなど)で使用されるESLintのルールの1つです。consistent-test-itは、test と it の使い方の一貫性を保つためルールとして便利です。
JestやVitestではitとtestは同じ意味ですが、ファイルによってバラバラに使われていると可読性が下がってしまいます。ということでコードベース全体で test または it のどちらか一方を使うことを強制し、一貫性を保ちます。
consistent-test-itの設定方法
1 2 3 4 5 6 7 8 9 10 11 12 |
// 'jest/consistent-test-it': ['error', { fn: 'test'}], // 'vitest/consistent-test-it': ['error', { fn: 'test'}], // 正しい例: test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); }); // 誤った例(`it` を使用なのでエラーになる): it('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); }); |
参考
JestやVitestにおけるno-conditional-in-testのプラグインを参考にしました。
https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/consistent-test-it.md
https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md