Part 3测试文档
1.需求分析
自主使用Junit完成对Jumper类的测试
2. 具体测试细节
2.1 Jumper类相关成员函数的介绍
2.1.1 构造函数
2.1.2 act()函数
功能:选择Jumper进行move、jump、turn且jump优先级高于move
2.1.3 turn()函数
功能:当Jumper无法进行jump或者move时候进行turn,转换角度
2.1.4 move()函数与canMove()函数
功能:
1. move()函数:Jumper往前移动一步
2. canMove()函数:判断Jumper是否可以move
2.1.5 jump()函数与canJump()函数
功能:
1. jump()函数:Jumper往前移动两步
2. canJump()函数:判断Jumper是否可以jump
2.2 函数测试
这一部分我选择了4个函数进行测试,分别是:
- act()函数
- canMove()函数
- move()函数
- turn()函数
2.2.1 act()函数测试
2.2.2 canMove()函数测试
2.2.3 move()函数测试
2.2.4 turn()函数测试
2.3 测试结果及详解
2.3.1 canMoveTest
- 首先把jumper放置在点(5,5)上
- 进行canMove()测试,由于jumper可以移动,所以返回true
2.3.2 moveTest
- 首先把jumper放置在点(5,5)上
- jumper进行move之后,jumper的x坐标减小1,此时jumper.getXposition() = 4
- 由于原本的x = x - 2 = 3 ,此时x与jumper.getXposition()并不相等,于是就返回false
2.3.3 turnTest
- 首先在part2部分中,我们已经定义了NORTHEAST是北偏东45°,并且定义jumper面朝正北,且自身旋转顺序为顺时针;
- 这里jumper进行turn之后,是顺时针旋转45°,此时也就是相对于原来未知的北偏东45°方向,所以返回true
2.3.4 actTest
- 首先把jumper放置在点(5,5)上,随后jumper进行act,由于地图上并没有障碍物且jump之后并不会出界,所以此时jumper进行jump
- 完成jump之后,jumper的X坐标减2,此时jumper.getXposition() = 3 , 而 x - 2 = 3 ,由于x = jumper.getXposition()相等所以返回true;
- 放置一个rock到点(1,4)上
- jumper继续运动,由于此时jumper再继续向前跳跃时候,会碰到rock,所以此时jumper选择进行move,向前move一步
- jumper完成move之后,jumper的X坐标减1,此时jumper.getXposition() = 2 ,而此时x - 3 = 2 ,所以 x - 3 = jumper.getXposition() ,返回true;
3 测试总结
完成part3之后,我对java程序的执行有了更加清楚的认识,同时也对在part1部分学到的junit有了更加熟练的使用。