发表于: 2017-08-10 23:29:09
2 936
这几天都在忙别的事。。今天晚上把测试这块收了个尾:
①测试类的编写:
②测试结果
>2个运行时发生错误的,经过检查,是因为插入的记录没有entrytime(java.sql.Date类型)的值,运行查询方法时,mapRow方法中执行stu.setEntryTime(rs.getDate("entrytime").toString());时,rs.getDate("entrytime")结果是null,null.toString()会抛出空指针异常。
修改:给mapRow中的这句话加上if判断语句,仅当非空时执行相关操作。
>1个运行结果与预测不符的,经过检查,是因为Student类中没有定义equals方法,于是assertEquals实际上是在判断二者是否引用同一对象。
修改:在Student类中添加equals函数,当专业、学号相同时判定为同一学生。
做完上述修改后,再进行测试,通过。
问题:JUnit单元测试,可以在一个测试方法中调用多个被测试的方法吗?
按JUnit测试的原则,应该只通过测试方法就可以知道被测方法是否正确运行。
但在测试数据库操作类的时候,插入一条数据,如果不查询的话,就没办法知道是否正确地插入了。如果要查询,那就意味着要在一个测试方法中调用两个不同的被测方法,这样可以吗?
明天学习任务1_21的相关部分(Debug),再下一步的计划是学习Mybatis连接数据库(1_17)。
评论