NestJS API でテスト駆動開発を使用すると、コントローラーとサービスが同じテストを共有します
P粉354602955
P粉354602955 2023-09-16 08:44:31
0
1
499

私は Prisma と MySQL を使用して NestJS ベースの API を開発しています。私はテスト駆動開発 (TDD) を初めて使用するため、プロジェクトにテストを追加し始めたいと思っています。 UsersService のテストは正常に作成できましたが、対応する UsersController をテストする方法がわかりません。また、単体テストと結合テストの違いもよくわかりません。以下に、UsersServiceUsersController、および私が作成したテストに関連するコード スニペットを示します。

プリズムソリューション:

リーリー

UsersService (関連部分):

リーリー

UsersController (関連部分):

リーリー

具体的な問題:

  • UsersController について、テストを記述するための推奨される方法は何ですか? UsersService 用に書かれたテストとどう違うのでしょうか?
  • 単体テストと統合テストの違いは何ですか? UsersService 用に作成したテストは単体テストとみなされますか、それとも他の種類のテストとみなされますか?

P粉354602955
P粉354602955

全員に返信(1)
P粉052686710

単体テストを使用すると、各メソッドを個別にテストできます。たとえば、コントローラー メソッドがサービスのメソッドを呼び出して返す場合、コントローラー メソッドがサービスのメソッドを呼び出すかどうかを単体テストでテストする必要があります。

統合テストはコード全体のテストに重点が置かれており、通常はモック オブジェクトを使用せず、実際のデータベースなどを使用してアプリケーションのフロー全体をテストしようとします。たとえば、ログインとログアウト、登録とプロファイルの作成などのユーザー ストーリーをテストできます。

個人的に、TDD を使用するときは、最初に単体テストを作成します。必要に応じて、後で統合テストを作成します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!