Jestを使ったテストの中で、特定のテストケースやテストスイートだけを実行したいと思ったことはありませんか?
Jestのonly
メソッドを使えば、特定のテストを実行することができます。
この記事では『Jestのonlyメソッド』について、以下の内容をサンプルコードを用いてわかりやすく解説します。
- Jestの
only
メソッドとはtest.only
の使い方describe.only
の使い方
Jestのonlyメソッドとは
Jestでは、test.only
やdescribe.only
を使うことで、特定のテストケースまたはテストスイートだけを実行できます。他のテストは無視されるので、デバッグや開発中に一部のテストだけに集中したい場合に便利です。
test.onlyの使い方
以下に簡単なサンプルコードを示します。test.only
を使えば、特定のテストケースだけを実行できます。
// math.test.js
describe('Math functions', () => {
test('adds 1 + 2 to equal 3', () => {
expect(1 + 2).toBe(3);
});
test('subtracts 5 - 2 to equal 3', () => {
expect(5 - 2).toBe(3);
});
test.only('multiplies 2 * 3 to equal 6', () => {
expect(2 * 3).toBe(6);
});
});
上記のコードを実行すると、以下のようにtest.only
が指定されたテストケース(multiplies 2 * 3 to equal 6
)だけが実行されます。
$ npm test
> test@1.0.0 test
> jest
PASS ./math.test.js
Math functions
√ multiplies 2 * 3 to equal 6 (5 ms)
○ skipped adds 1 + 2 to equal 3
○ skipped subtracts 5 - 2 to equal 3
Test Suites: 1 passed, 1 total
Tests: 2 skipped, 1 passed, 3 total
Snapshots: 0 total
Time: 3.708 s
Ran all test suites.
describe.onlyの使い方
以下に簡単なサンプルコードを示します。describe.only
を使えば、特定のテストスイート(Math functions - Addition and Multiplication
)だけを実行できます。
// math.test.js
describe.only('Math functions - Addition and Multiplication', () => {
test('adds 1 + 2 to equal 3', () => {
expect(1 + 2).toBe(3);
});
test('multiplies 2 * 3 to equal 6', () => {
expect(2 * 3).toBe(6);
});
});
describe('Math functions - Subtraction', () => {
test('subtracts 5 - 2 to equal 3', () => {
expect(5 - 2).toBe(3);
});
});
上記のコードを実行すると、以下のようにdescribe.only
が指定されたテストスイートだけが実行されます。
$ npm test
> test@1.0.0 test
> jest
PASS ./math.test.js
Math functions - Addition and Multiplication
√ adds 1 + 2 to equal 3 (6 ms)
√ multiplies 2 * 3 to equal 6 (1 ms)
Math functions - Subtraction
○ skipped subtracts 5 - 2 to equal 3
Test Suites: 1 passed, 1 total
Tests: 1 skipped, 2 passed, 3 total
Snapshots: 0 total
Time: 0.495 s, estimated 3 s
Ran all test suites.
注意点
only
は忘れずに外しましょう!- 開発中に
only
を使用した場合、コミット前にすべてのテストを実行するのを忘れないようにしましょう。
- 開発中に
本記事のまとめ
この記事では『Jestのonlyメソッド』を用いて、特定のテストのみを実行する方法を説明しました。
only
メソッドを使うと、デバッグが簡単になり、特定のテストに集中できます。ぜひ、開発中に活用して効率的にテストを行ってください!
お読み頂きありがとうございました。