单元测试之用户登录
作者:网络转载 发布时间:[ 2016/1/22 14:57:54 ] 推荐标签:单元测试
### 小组:The Expendables
测试代码:
/*UsersDAO代码*/
public class UsersDAO extends MyDAO{
// private static JdbcUtil jdbcutil=new JdbcUtil();
public static boolean login(int type,String username,String password){
init();
String pwd=null;
try{
switch(type){
case 1:
sqlCommand="select * from 教 师 where 工号=?;";
break;
case 2:
sqlCommand="select * from 系负责人 where 工号=?;";
break;
case 3:
sqlCommand="select * from 教学办 where 工号=?;";
break;
}
conn=JdbcUtil.getConnection();
pst=conn.prepareStatement(sqlCommand);
// pst.setString(1, tb_name);
pst.setString(1, username);
rs=pst.executeQuery();
while(rs.next()){
pwd=rs.getString("密码");
}
}catch(Exception e){
System.out.println(e.toString());
}
if(pwd==null||!pwd.equals(password)) return false;
else return true;
}
}
/*UsersDAOTest代码*/
/*测试用户登录,以教师用户为例(工号:21001,密码:21001)*/
public class UsersDAOTest {
@Before
public void setUp() throws Exception {
}
@Test
public void testLogin() {
boolean result=UsersDAO.login(1, "21001", "21001");
if(result) System.out.println("ok!");
else System.out.println("not ok!!");
}
}
测试结果:
DB.properties works!
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'coursemanagement.教' doesn't exist
not ok!!
检查发现错误的地方:
/*这行代码中的"教师"间多了一个空格*/
sqlCommand="select * from 教 师 where 工号=?;";
修改后的测试结果:
DB.properties works!
ok!
分析结果:
1、eclipse代码的字体需要放大,否则看不清楚中文间的空格。
2、尽量避免在代码中使用中文,但是由于建立数据库时使用了中文,所以便“将错错”进行开发,以后会避免出现此类低级错误。(ps:其实是因为英语太渣,才不用英文命名表名和列名,担心在修改数据库时会出错)
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
iOS单元测试mocha、chai、sinon和istanbul实现百分之百的单元测试覆盖率关于单元测试的总结及思考编写更好的Java单元测试的7个技巧Android单元测试框架Robolectric3.0介绍(一)使用Kiwi单元测试总结单元测试如此重要,为什么你不知道Python单元测试??使用装饰器实现测试跳过和预期故障对Controller的单元测试写好单元测试的10个技巧单元测试的重要性Angular单元测试系列??Component、Directive、Pipe 以及ServiceAndroid单元测试的整理提升单元测试体验的利器--Mockito使用总结iOS UnitTest单元测试Vue的单元测试探索(二)

sales@spasvo.com