我只是想尝试运行一个需要数据库连接的简单单元测试。
private static MysqlDataSource dataSource=new MysqlDataSource();
@BeforeEach
void setUpBefore() throws Exception {
dataSource.setURL("192.168.1.133:3306");
dataSource.setUser("user");
dataSource.setPassword("password");
}
在实际单元测试的后期
map=new MenuDAO(dataSource.getConnection()).getMenu(); //throws exception
我确实有MySQL Workbench通过上述设置成功连接到MySQL数据库。但是当JUnit执行测试时,我得到以下异常。不知道为什么。
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Failed to get a connection using the URL '192.168.1.133:3306'.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.Util.getInstance(Util.java:408)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:413)
at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:136)
at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:107)
at com.m2ii.MenuService.dao.test.MenuDAO_UT.testGetMenu(MenuDAO_UT.java:41)
答案 0 :(得分:1)
setURL方法需要多一点。设为jdbc:mysql://192.168.1.133:3306