2017-05-16 11 views
0

私のテスト部分は以下の通りです:エラー:Jmockit/JUnitの

@Test 
     //testing user report method of UserAdmin - number of users less than 10 
     public void testuserReport_SizeLessThan10() throws Exception 
     { 
      new Expectations() {{ 
       dBConnection.getUsers(); 
       times=1; 
       result= Arrays.asList("Abc","123"); 
      }}; 

      System.out.println("in less than 10"); 
      userAdmin.runUserReport(); 
     } 

USERADMINという名前のクラスに属するテスト対象の方法は次のとおりです。

public void runUserReport() { 
     try { 
      List<User> users = dbConn.getUsers(); 
      System.out.println(users.size()); 
      if (users.isEmpty()) { // empty database 
       System.out.println("No users in database..."); 
      } else if (users.size() <= 10) { // detailed reporting 
       System.out.println("Listing all usernames:"); 
       for (User user : users) { 
        System.out.println(user.getUsername()); 
       } 
      } else { // summary reporting 
       System.out.println("Total number of users: " + users.size()); 
       System.out.println(users.get(0).getUsername()); 
       System.out.println(users.get(1).getUsername()); 
       System.out.println(users.get(2).getUsername()); 
       System.out.println(users.get(3).getUsername()); 
       System.out.println(users.get(4).getUsername()); 
       System.out.println((users.size() - 5) + " more..."); 
      } 
     } catch (SQLException sqle) { 
      System.out.println("DBConnection problem at runUserReport()."); 
     } 
    } 

私のテストユーザーのサイズを2と指定して実行しますが、メソッドに定義されている「すべてのユーザー名を表示する」から始まるユーザー名は表示されません。テストの期待の一部に間違って結果を定義していますか?助けてください

答えて

1

どうすればSystem.out.println(users.size());は、サイズが2として印刷され、テストに失敗したかわかりません。

List<User> users = dbConn.getUsers();result= Arrays.asList("Abc","123");がString、List<String>のリストとしてresultなりながらusersは、ユーザータイプの一覧であることを述べています。 List<String>List<User>に割り当てていて、何とか実行時に失敗しません。

ユーザーの種類のリストを準備し、現在行っている作業の代わりにresultに割り当てる必要があります。

関連する問題