在线OJ系统测试报告
一、单元测试
初始界面展示
- 引入Juint依赖
- 初始数据库界面(包含两个题目)
1. 测试insert()方法
(1)给数据库里增添一条题目:本来数据库就存在两条题目,在此就添加id为2的题目
(2)测试代码如下:
public class ProblemDAOTest {
@Test
public void insert() {
Problem problem1 = new Problem();
problem1.setId(2);
problem1.setTitle("各位相加");
problem1.setLevel("简单");
problem1.setDescription("给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。\n" +
"\n" +
"示例:\n" +
"\n" +
"输入: 38\n" +
"输出: 2 \n" +
"解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。\n" +
"\n");
problem1.setTemplateCode("public class Solution {\n" +
" public int addDigits(int num) {\n" +
"\n" +
" }\n" +
"}");
problem1.setTestCode(
"public static void main(String[] args) {\n" +
" Solution s = new Solution();\n" +
" if (s.addDigits(1) == 1 && s.addDigits(38) == 2) {\n" +
" System.out.println(\"Test OK\");\n" +
" } else {\n" +
" System.out.println(\"Test Failed\");\n" +
" }\n" +
"}\n");
ProblemDAO problemDAO1 = new ProblemDAO();
problemDAO1.insert(problem1);
}
}
(3)操作结果:
- 进程退出码
- 数据库显示(两条记录变为了三条)
- 前端页面(两条记录变为了三条)
(4)经过上述测试,insert()方法操作正常
2. 测试delete()方法
(1)从列表页删除题目:在此删除id为3的题目
(2)测试代码如下:
@Test
public void delete() {
ProblemDAO problemDAO = new ProblemDAO();
problemDAO.delete(3);
}
(3)预期结果:进程成功退出返回码 0;数据库和页面展示只有两条题目(分别是1和2)
- 进程退出码
- 数据库显示(删除第三个题目,只剩下1和2)
- 前端页面(也只剩下了题目1和题目2)
(4)经过上述测试,delete()方法操作正常
3. 测试selectOne()方法
(1)验证查询一条记录,将指定题目的id打印在控制台,看结果是否能出现指定题目的详情页(在此验证id为2的题目信息)