今天使用IDEA,Junit使用Scanner控制台无法输入,我以为是代码的问题。于是把单元测试换成了main函数
1、使用单元测试
@Test
public void test()throws Exception{
Scanner input = new Scanner(System.in);
System.out.print("请输入用户名:");
String username = input.next();
System.out.print("请输入密码:");
String password = input.next();
System.out.print("请输入邮箱:");
String email = input.next();
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test01_bookstore?useUnicode=true&characterEncoding=utf8", "root", "123456");
String sql = "insert into users values(null,?,password(?),?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, username);
pst.setString(2, password);
pst.setString(3, email);
int len = pst.executeUpdate();
System.out.println(len>0?"添加成功":"添加失败");
pst.close();
conn.close();
input.close();
}
2、使用main函数
package Connection4;
import org.junit.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class Test04 {
public static void main(String[] args) throws Exception {
Test04 test04 = new Test04();
test04.test();
}
public void test() throws Exception {
Scanner input = new Scanner(System.in);
System.out.print("请输入用户名:");
String username = input.next();
System.out.print("请输入密码:");
String password = input.next();
System.out.print("请输入邮箱:");
String email = input.next();
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test01_bookstore?useUnicode=true&characterEncoding=utf8", "root", "123456");
String sql = "insert into users values(null,?,password(?),?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, username);
pst.setString(2, password);
pst.setString(3, email);
int len = pst.executeUpdate();
System.out.println(len > 0 ? "添加成功" : "添加失败");
pst.close();
conn.close();
input.close();
}
}
那到底单元测试能不能使用Scanner呢,答案是能的
解决方法:
1、 打开IDEA安装根目录下的bin文件夹,找到idea.exe.vmoptions和idea64.exe.vmoptions这两个文件
2、用记事本或者EditPlus 或者直接在idea中编辑这两个文件 添加-Deditable.java.test.console=true 注意:是两个文件都要添加 idea.exe.vmoptions文件 idea64.exe.vmoptions文件
然后就可以输入了。
|