操作MySql运用@Test时:
报错Test cannot be resolved to a type
package com.why.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo2 {
@Test
public void add(){
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try{
//1.注册数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
conn = DriverManager.getConnection("jdbc:mysql:///day10","root","root");
//3.获取传输对象
stat = conn.createStatement();
//4.执行sql语句
int count = stat.executeUpdate("insert into user valuse (null,'zhaoliu','123456','zhaoliu@sina.com','1998-01-01')");
//5.处理结果
if(count>0){
System.out.println("执行成功!影响到的行数为"+count);
}else{
System.out.println("执行失败!");
}
}catch (Exception e){
e.printStackTrace();
}finally{
//6.关闭资源
if(rs!=null){
try{
rs.close();
} catch (SQLException e){
e.printStackTrace();
}finally{
rs = null;
}
}
if(stat!=null){
try{
stat.close();
} catch (SQLException e){
e.printStackTrace();
}finally{
stat = null;
}
}
if(conn!=null){
try{
conn.close();
} catch (SQLException e){
e.printStackTrace();
}finally{
conn = null;
}
}
}
}
}
在运用@Test时,报错Test cannot be resolved to a type
我首先想到的是没有导入包之类的东西,但是MyEclipse这么强大的东西,一个Alt+/ 竟然提示的不是要导入的包,所以应该是别的问题。
度娘了一下下,有的人也有类似问题,不过好像和我的不太一样
引用如下:
发现写 @Test 标签报错了,”Test cannot be resolved to a type”
原来是项目没有导入 JUnit 库,解决办法很简单
项目右键 -> Build Path -> Configure Build Path -> Libraries -> Add Library -> JUnit -> next -> finish
然后我就看了看我的,其实已经自动导入过JUnit3,然后我又看到了个JUnit4,想着导入进去说不定行。如图:
发现还是不行。然后又去翻找大神的博客,发现了这样一个解决方法:
写了个单元测试,然后buildpath里add library选择了junit,然后出现了奇怪的现@Before、 @After可以用,@Test就会报错(“Test is not an annotation type”),搜索了下,解决方案如下,不需要引入 import org.junit.Test ,直接@org.junit.Test就可以了。
我一看,是不是可以呢?但是又觉得不行,感觉这个是导入包后出现错误,我现在的问题是没包可导入。我就想,是我的jar包没了还是jar包冲突?都有可能。
搜了好久之后也找不出解决方法,有解决jar包冲突的解决方法都是我不曾接触过的,如果瞎改岂不是gg?
然后我就抱着摸索试一试的心态想,刚刚导入JUnit的时候,有个3又有个4,我当时都导入进去了,4会不会覆盖3?3又会不会影响4?一开始没导入的时候只有3它是报错的,所以应该是3影响了4,所以我将3remove了,只留下4,哇!!!成功!!美滋滋!
注:大神说的@org.junit.Test和import org.junit.Test;这两种方法都可以!
记录下来,以后遇到此类问题看一下这里的多种解决方案,总会找到自己需要的。
本文介绍了一种在使用MySql进行单元测试时遇到@Test报错的解决方法,通过移除JUnit3并保留JUnit4解决了该问题。
492





