Use when writing, creating, or adding tests for functions in tools/. Use when implementing TDD, unit tests, test cases, AAA pattern, Jest tests, writing test files under test/ directory, テスト作成
tools/ 配下に追加するときtest/ 配下に作成・更新するときnpm test を通すためのテストを整備するときdescribe() と it() のテスト名は必ず日本語にすること。describe('日付ツールのテスト', () => {
it('2つの配列の共通要素を返すこと', () => {});
it('日付差分を正しく返すこと', () => {});
});
ソースファイルのパス構造を 配下にそのまま鏡映する。ファイル名は 。
test/*.test.jstools/dateTool.js → test/tools/dateTools.test.js
tools/array/arrayTool.js → test/tools/array/arrayTools.test.js
すべてのテストケースに Arrange → Act → Assert の3段階コメントを必ず明記すること。
また、テストケース名(it())とグループ名(describe())は必ず日本語で記述すること。
it('2つの日付を与えたときに正しい差分を返すこと', () => {
// Arrange
const date1 = new Date('2026-01-01');
const date2 = new Date('2026-01-05');
// Act
const result = getDateDiff(date1, date2);
// Assert
expect(result.days).toBe(4);
});
| カテゴリ | 内容 |
|---|---|
| 正常系 | 一般的な入力と期待される出力 |
| 境界値 | 最小値・最大値・ゼロ・空 |
| 異常系 | 不正な入力でエラーが正しくスローされること |
| 型バリエーション | 文字列・Date オブジェクト等、複数の入力形式 |
npm test を実行し、すべて PASS することを確認する。