テスト時にモックオブジェクトをクラスに挿入する方法は?

ラシタ・ヤパ:

私のユーザークラスは次のとおりです。

public class UserResource {
  @Inject UserService userService;

  public boolean createUser(User user) {
    DbResponse res = userService.addUser(user);
    if(res.isSuccess){
      return true;
    }else{
      return false;
    }
  }
}

私のテストクラスは次のようになります、

public class UserResourceTest {

  UserResource userResource;

  @BeforeMethod
  void beforeMethod() {
    userResource = new UserResource();
  }

  @Test
  public void test() {
    User user= mock(User.class);
    boolean res= userResource.createUser(user);
    assert(res);
  }
}

ご覧のとおり、UserServiceオブジェクトをUserResourceクラスに挿入する必要があります。テスト内のモックUserServiceオブジェクトをuserResourceオブジェクトに挿入するにはどうすればよいですか?

ご参考までに:

  • これはJersey JAX-RSプロジェクトの一部です。
  • 私はJava CDI、mockito、およびtestNG(テストライブラリとして)を使用しています。
ンコシ:

特定の機能を実行するためにクラスが必要とするものを非常に明確に示しているため、コンストラクター注入を介した明示的な依存関係プリンシパルの使用を検討してください。

public class UserResource {
  private UserService userService;

  @Inject
  public UserResource(UserService userService) {
    this.userService = userService;
  }

  public boolean createUser(User user) {
    DbResponse res = userService.addUser(user);
    if(res.isSuccess){
      return true;
    }else{
      return false;
    }
  }
}

も模擬し、UserServiceテスト対象に割り当てます。テストの望ましい動作または模擬動作を構成します。

public class UserResourceTest {

  @Test
  public void test() {
    //Arrange
    boolean expected = true; 
    DbResponse mockResponse = mock(DbResponse.class);
    when(mockResponse.isSuccess).thenReturn(expected);

    User user = mock(User.class);
    UserService mockService = mock(UserService.class);
    when(mockService.addUser(user)).thenReturn(mockResponse);

    UserResource userResource = new UserResource(mockService);        

    //Act
    boolean actual = userResource.createUser(user);

    //Assert
    assert(expected == actual);
  }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Factoryクラスによって作成されたオブジェクトにモックを挿入する

分類Dev

ユニットテスト用にspacyモデル/ Docオブジェクトをモックする方法は?

分類Dev

オブジェクトをブートストラップモーダルに挿入します

分類Dev

カスタムインデックスのリストにオブジェクトを挿入する方法

分類Dev

elasticsearchオブジェクトをインデックスに挿入する

分類Dev

インデックスにオブジェクトを挿入するJava LinkedList

分類Dev

Listオブジェクトをsqliteに挿入する方法は?

分類Dev

テストのためにオブジェクトをコントローラーに挿入するPlay / Scala

分類Dev

オブジェクトの代わりにクラスをモックする方法は?

分類Dev

Pythonクラスのオブジェクトをモックする方法は?

分類Dev

オブジェクトをジャージーリクエストコンテキストに挿入する方法は?

分類Dev

Laravelのコレクションオブジェクトに特定のインデックス番号でオブジェクト(モデルタイプオブジェクト)を挿入するにはどうすればよいですか?

分類Dev

Jsonオブジェクトをデータベースに挿入する方法

分類Dev

テーブルにテキストボックスを挿入する方法は?

分類Dev

テーブルにテキストボックスを挿入する方法は?

分類Dev

ユニットテスト用にAndroidNFCタグオブジェクトをモックする方法

分類Dev

ユニットテスト用にAndroidNFCタグオブジェクトをモックする方法

分類Dev

jqを使用して、配列内のオブジェクトの配列インデックスをオブジェクトに挿入する方法

分類Dev

コンストラクターが挿入したオブジェクトをスポック内のモックオブジェクトに置き換える方法

分類Dev

PlayFrameworkオブジェクトをテンプレートに挿入する方法

分類Dev

StringBuilderオブジェクトにカラーラインを挿入する方法

分類Dev

モノオブジェクト内にフラックスを正しくラップする方法

分類Dev

ギス。親クラスのフィールドに異なるオブジェクトを挿入する方法は?

分類Dev

Pythonのネストされたリストにオブジェクトを挿入する方法

分類Dev

テスト対象のクラス内で作成されるモックオブジェクトを生成するにはどうすればよいですか?

分類Dev

法的にMockitoモックオブジェクトをキャストする方法はありますか?

分類Dev

CDI(溶接)にオブジェクトのリストを挿入する

分類Dev

オブジェクトのIEnumerableにリストを挿入する

分類Dev

スライスオブジェクトをブールインデックスに変換する方法は?

Related 関連記事

  1. 1

    Factoryクラスによって作成されたオブジェクトにモックを挿入する

  2. 2

    ユニットテスト用にspacyモデル/ Docオブジェクトをモックする方法は?

  3. 3

    オブジェクトをブートストラップモーダルに挿入します

  4. 4

    カスタムインデックスのリストにオブジェクトを挿入する方法

  5. 5

    elasticsearchオブジェクトをインデックスに挿入する

  6. 6

    インデックスにオブジェクトを挿入するJava LinkedList

  7. 7

    Listオブジェクトをsqliteに挿入する方法は?

  8. 8

    テストのためにオブジェクトをコントローラーに挿入するPlay / Scala

  9. 9

    オブジェクトの代わりにクラスをモックする方法は?

  10. 10

    Pythonクラスのオブジェクトをモックする方法は?

  11. 11

    オブジェクトをジャージーリクエストコンテキストに挿入する方法は?

  12. 12

    Laravelのコレクションオブジェクトに特定のインデックス番号でオブジェクト(モデルタイプオブジェクト)を挿入するにはどうすればよいですか?

  13. 13

    Jsonオブジェクトをデータベースに挿入する方法

  14. 14

    テーブルにテキストボックスを挿入する方法は?

  15. 15

    テーブルにテキストボックスを挿入する方法は?

  16. 16

    ユニットテスト用にAndroidNFCタグオブジェクトをモックする方法

  17. 17

    ユニットテスト用にAndroidNFCタグオブジェクトをモックする方法

  18. 18

    jqを使用して、配列内のオブジェクトの配列インデックスをオブジェクトに挿入する方法

  19. 19

    コンストラクターが挿入したオブジェクトをスポック内のモックオブジェクトに置き換える方法

  20. 20

    PlayFrameworkオブジェクトをテンプレートに挿入する方法

  21. 21

    StringBuilderオブジェクトにカラーラインを挿入する方法

  22. 22

    モノオブジェクト内にフラックスを正しくラップする方法

  23. 23

    ギス。親クラスのフィールドに異なるオブジェクトを挿入する方法は?

  24. 24

    Pythonのネストされたリストにオブジェクトを挿入する方法

  25. 25

    テスト対象のクラス内で作成されるモックオブジェクトを生成するにはどうすればよいですか?

  26. 26

    法的にMockitoモックオブジェクトをキャストする方法はありますか?

  27. 27

    CDI(溶接)にオブジェクトのリストを挿入する

  28. 28

    オブジェクトのIEnumerableにリストを挿入する

  29. 29

    スライスオブジェクトをブールインデックスに変換する方法は?

ホットタグ

アーカイブ