jestでテストを分類して個別に実行する
2394 ワード
TL;DR
hoge.{test category}.test.ts
のようにテストファイルを命名する
例. `hoge.unit.test.ts
実行時に対象ファイルを指定する
npx jest ".*\.unit\.test\.ts$"
jest.unit.config.js
のように設定ファイルを分割するのもアリ
動機
- テストにはそれぞれ特性がある
- 単体テストと言われるような、依存関係が少なく、高速なもの
- 統合テストと呼ばれるような依存関係があるもの
- DBや外部APIアクセスがあるもの
- ビルドが必要なもの
これらを一括で実行するのは現実的ではない
対策
テストを適切に分類し、それぞれ任意のタイミングで呼び出す
案1. テストファイル名で分類する
hoge.unit.test.ts
のようにファイル名にテスト分類を入れる規約を作る
- pro: どのようなテストをするファイルかわかりやすい
案2. テスト分類ごとにディレクトリを分割する
└── __tests__
├── integration
│ └─── hoge.test.ts
└─── unit
└─── hoge.test.ts
- pro: testコードをプロダクトコードと分けている場合はわかりやすい
- con: testコードをプロダクトコードと並列にしている場合は使えない
案3. テストケース名に分類を入れる
試していないが以下の方な方法もできる?
describe("unit: hogeのテスト",() => {
expect(hoge).toBe(true);
}
備考
テストをどう分類するかについてはまた別の課題とする
動機を考えると、test sizesでの分類が適しているかもしれない
より良い手法があればコメントください
Author And Source
この問題について(jestでテストを分類して個別に実行する), 我々は、より多くの情報をここで見つけました https://qiita.com/ratmie/items/c6c0c6144bbaa27843ba著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .