import org.junit.Test; import java.util.ArrayList; import java.util.Scanner; public class QQ_user { static public ArrayList<QQ_user> list = new ArrayList<>(); //封装已做好的用户信息 存储到集合在中 剧本应序 static { //类加载代码块 适用初始化加载<_>在_内容 临时加载存储中验证 /*注意类加载级别类型也是按顺序往下执行走的*/ //存储用户功能方法权限注解范围 参 属 ArrayList<String> l1 = new ArrayList<>(); // l1.add("a"); l1.add("d"); l1.add("b"); ArrayList<String> l2 = new ArrayList<>(); l2.add("a"); l2.add("b"); l2.add("c"); l2.add("d"); //赋值属性值要注意对应的对象 QQ_user demo = new QQ_user("追风少年", "A88888", "12345", l1); QQ_user demo1 = new QQ_user("追风少年2", "A11111", "12345", l2); list.add(demo); list.add(demo1);//95js 09o } public static ArrayList<QQ_user> getUserList() { return list; } public QQ_user() { } public QQ_user(String nickName, String userName, String password, ArrayList<String> listj) { this.nickName = nickName; this.userName = userName; this.password = password; this.listj = listj; //存储用户功能方法权限注解范围 参 取对应注解值?比较 没有注解值可直接调用 } public String nickName; public String userName; public String password; public ArrayList<String> listj; // public static void main(String[] args) { // System.out.println("请输入用户名"); // Scanner sc = new Scanner(System.in); // String suserName = sc.nextLine(); // System.out.println("请输入密码###"); // String spassword = sc.nextLine(); // ArrayList<QQ_user> userList = getUserList(); // for (QQ_user demo : userList //|=遍历信息 // ) { // if (demo.userName.equals(suserName) && demo.password.equals(spassword)) { // System.out.println("登录成功"); // return; // } else { // System.out.println("账户名或密码错误"); // } // } // } @Test public void showExe() { System.out.println("请输入用户名"); Scanner sc = new Scanner(System.in); String suserName = sc.nextLine(); System.out.println("请输入密码###"); String spassword = sc.nextLine(); ArrayList<QQ_user> userList = getUserList(); for (QQ_user demo : userList //|=遍历信息 ) { if (demo.userName.equals(suserName) && demo.password.equals(spassword)) { System.out.println("登录成功"); return; } else { System.out.println("账户名或密码错误"); } } } }
执行以上代码的时候报java.lang.IllegalArgumentException: Test class can only have one constructor
测试类只能有一个构造方法
去掉了类中的有参构造
import org.junit.Test; import java.util.ArrayList; import java.util.Scanner; public class QQ_user { static public ArrayList<QQ_user> list = new ArrayList<>(); //封装已做好的用户信息 存储到集合在中 剧本应序 static { //类加载代码块 适用初始化加载<_>在_内容 临时加载存储中验证 /*注意类加载级别类型也是按顺序往下执行走的*/ //存储用户功能方法权限注解范围 参 属 ArrayList<String> l1 = new ArrayList<>(); // l1.add("a"); l1.add("d"); l1.add("b"); ArrayList<String> l2 = new ArrayList<>(); l2.add("a"); l2.add("b"); l2.add("c"); l2.add("d"); //赋值属性值要注意对应的对象 // QQ_user demo = new QQ_user("追风少年", "A88888", "12345", l1); // QQ_user demo1 = new QQ_user("追风少年2", "A11111", "12345", l2); // list.add(demo); // list.add(demo1);//95js 09o } public static ArrayList<QQ_user> getUserList() { return list; } public QQ_user() { } // public QQ_user(String nickName, String userName, String password, ArrayList<String> listj) { // this.nickName = nickName; // this.userName = userName; // this.password = password; // this.listj = listj; // //存储用户功能方法权限注解范围 参 取对应注解值?比较 没有注解值可直接调用 // } public String nickName; public String userName; public String password; public ArrayList<String> listj; // public static void main(String[] args) { // System.out.println("请输入用户名"); // Scanner sc = new Scanner(System.in); // String suserName = sc.nextLine(); // System.out.println("请输入密码###"); // String spassword = sc.nextLine(); // ArrayList<QQ_user> userList = getUserList(); // for (QQ_user demo : userList //|=遍历信息 // ) { // if (demo.userName.equals(suserName) && demo.password.equals(spassword)) { // System.out.println("登录成功"); // return; // } else { // System.out.println("账户名或密码错误"); // } // } // } @Test public void showExe() { System.out.println("请输入用户名"); Scanner sc = new Scanner(System.in); String suserName = sc.nextLine(); System.out.println("请输入密码###"); String spassword = sc.nextLine(); ArrayList<QQ_user> userList = getUserList(); for (QQ_user demo : userList //|=遍历信息 ) { if (demo.userName.equals(suserName) && demo.password.equals(spassword)) { System.out.println("登录成功"); return; } else { System.out.println("账户名或密码错误"); } } } }
执行成功,测试发现 junit在测试中只需要一个无参的构造函数就行,如果有有参的构造函数junit会报错