# テスト名
テストの名前には以下の要素を含めましょう。
- テスト対象
- シナリオ
- 事前条件と事後条件
// テストの構造化をサポートしている場合
describe("fetch", () => {
describe("happy path", () => {
test("if have cache, return it", () => {
// ...
})
})
describe("invalid url", () => {
test("if url does not exist, throw error", () => {
// ...
})
})
})
// テストの構造化をサポートしていない場合
test("fetch - happy path - if have cache, return it", () => {
// ...
})
test("fetch - invalid url - if url does not exist, throw error", () => {
// ...
})
テスト名をわかりやすくすると以下のメリットがあります。
- 名前を見ただけでどのようなテストかがわかる
- テストにドキュメントとしての役割も持たせられる
- テストが失敗したときに修正が必要な箇所を見つけやすくなる
NOTE
テスト名をわかりやすくする