Java 预期结果部分出错:Jmockit/Junit

Java 预期结果部分出错:Jmockit/Junit,java,unit-testing,junit,mockito,jmockit,Java,Unit Testing,Junit,Mockito,Jmockit,我的测试部分如下: @Test //testing user report method of UserAdmin - number of users less than 10 public void testuserReport_SizeLessThan10() throws Exception { new Expectations() {{ dBConnection.getUser

我的测试部分如下:

   @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();
        }
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().");
        }
    }
测试中属于名为userAdmin的类的方法如下所示:

   @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();
        }
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来运行,但它不会打印从列出所有用户名开始的用户名:如方法中定义的那样。我是否在测试的期望部分错误地定义了结果?请帮助

我甚至不知道System.out.printlnusers.size是怎么回事;将大小打印为2,而不是测试失败

List users=dbConn.getUsers;表示用户是用户类型的列表,而结果=数组;将结果作为字符串列表,列表。您正在将列表分配给一个又一个列表,但不知何故,它在运行时并没有失败

您需要准备一个用户类型列表并分配给结果,而不是您当前正在做的事情