Closed r-sugi closed 3 months ago
The latest updates on your projects. Learn more about Vercel for Git ↗︎
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
nextjs-tdd-template_storybook | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Aug 22, 2024 10:35am |
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪ |
🧪 PR contains tests |
🔒 No security concerns identified |
⚡ Key issues to review テストカバレッジ 正常系と異常系の両方のシナリオをカバーしていますが、特定のエッジケースや例外的な振る舞いに対するテストが不足している可能性があります。特に、APIからの異常なレスポンス形式や、予期しないパラメータタイプが渡された場合の挙動について追加のテストが必要かもしれません。 エラーハンドリング `transformError` 関数がエラーオブジェクトを適切に変換し、適切なステータスコードをレスポンスに設定しているかの確認が必要です。特に、異なるタイプのエラーが適切にハンドリングされているかどうかを検証することが重要です。 |
Category | Suggestion | Score |
Best practice |
型安全性を向上させるために、
___
** | 8 |
モック関数の呼び出し回数を正確に検証してください。___ **fetcherMock が呼び出されたかどうかを確認するテストは、toHaveBeenCalled() の代わりに toHaveBeenCalledTimes(1) を使用して、正確な呼び出し回数を検証してください。** [src/pages/articles/[id]/_server/index.test.tsx [42]](https://github.com/r-sugi/nextjs-tdd-template/pull/156/files#diff-f9913c81fa8938ca5b1923afea7517dbd12294df9320783c7f95223bef206d53R42-R42) ```diff -expect(fetcherMock).toHaveBeenCalled(); +expect(fetcherMock).toHaveBeenCalledTimes(1); ``` Suggestion importance[1-10]: 7Why: Using `toHaveBeenCalledTimes(1)` provides more precise verification of the function call count, enhancing the accuracy of the test. | 7 | |
エラーハンドリングの一貫性を向上させるために、ステータスコードの設定方法を改善してください。___ **res オブジェクトの statusCode を直接変更するのではなく、エラーハンドリング関数を通じてステータスコードを設定する方法を検討してください。これにより、エラーハンドリングの一貫性が向上します。** [src/pages/articles/[id]/_server/index.test.tsx [48]](https://github.com/r-sugi/nextjs-tdd-template/pull/156/files#diff-f9913c81fa8938ca5b1923afea7517dbd12294df9320783c7f95223bef206d53R48-R48) ```diff +// ステータスコードの設定はエラーハンドリング関数を通じて行います。 +// 例: setStatusCode(context, 200); expect(context.res.statusCode).toBe(200); ``` Suggestion importance[1-10]: 5Why: While the suggestion promotes consistency in error handling, it is not crucial for the current test setup, thus providing a moderate improvement. | 5 | |
Maintainability |
不要なテストフックを削除してください。___ **`beforeAll` フックが空です。テストの初期化が必要ない場合は、このフックを削除してください。** [src/pages/articles/[id]/_server/index.test.tsx [11]](https://github.com/r-sugi/nextjs-tdd-template/pull/156/files#diff-f9913c81fa8938ca5b1923afea7517dbd12294df9320783c7f95223bef206d53R11-R11) ```diff -beforeAll(() => {}); +// beforeAll フックが削除されました。 ```Suggestion importance[1-10]: 6Why: Removing an unnecessary `beforeAll` hook improves code maintainability by eliminating redundant code. | 6 |
User description
124
PR Type
Tests, Enhancement
Description
getServerSideProps
function, covering both normal and error scenarios.getServerSideProps
by utilizing thetransformError
function to format errors and set status codes appropriately.Changes walkthrough 📝
index.test.tsx
Add Jest tests for getServerSideProps function
src/pages/articles/[id]/_server/index.test.tsx
getServerSideProps
.index.tsx
Enhance error handling in getServerSideProps
src/pages/articles/[id]/_server/index.tsx
transformError
.