首页 > 代码库 > 第三次作业+105032014149

第三次作业+105032014149

第二次修改的连接:http://www.cnblogs.com/lkx1995/p/6636170.html

修正流程图

技术分享

 

测试用例设计

技术分享

 

 

单元测试框架

 1 package com.test;
 2 
 3 import static org.junit.Assert.*;
 4 
 5 import org.junit.Before;
 6 import org.junit.Test;
 7 
 8 public class SoftTest_1Test {
 9 
10     @Before
11     public void setUp() throws Exception {
12     }
13 
14     @Test
15     public void testCommission() {
16         String a1 = SoftTest_1.commission(1, 8, 10);
17         assertEquals("佣金额为:24.0", a1);
18         String a2 = SoftTest_1.commission(10, 10, 50);
19         assertEquals("佣金额为:145.0", a2);
20         String a3 = SoftTest_1.commission(20, 10, 50);
21         assertEquals("佣金额为:280.0", a3);
22         String a4 = SoftTest_1.commission(10, 0, 0);
23         assertEquals("佣金额为:80.0", a4);
24         String a5 = SoftTest_1.commission(20, 0, 0);
25         assertEquals("佣金额为:190.0", a5);
26         String a6 = SoftTest_1.commission(30, 0, 0);
27         assertEquals("佣金额为:340.0", a6);
28     }
29 
30 }

 

测试结果

技术分享

 

测试小结

1、在所给出的测试用例中所有的用例都能通过,实际结果也如同预期所至;

2、由于上一次自己没有发现一个非常大的错误导致这一次使用junit测试时出现了很大的问题,原代码中的commission的返回值是float类型,使用assertEquals无法进行测试,所以我自己把她的commission方法的返回值改成了String,改完后的代码如下:

 1      public static String commission(int headphone,int shell,int protector){
 2             float sum = headphone * 80 + shell * 10 + protector * 8;
 3             float com=0;
 4             if(sum>=0&&sum<=1000){
 5                 com=(float) (sum*0.1);
 6             }else if(sum<=1800){
 7                 com=(float) (100+(sum-1000)*0.15);
 8             }else{
 9                 com=(float) (220+(sum-1800)*0.2);
10             }
11             return "佣金额为:"+com;
12      }

所以在单元测试中是使用这段代码进行测试的

3、通过Junit的学习,掌握了一项新的代码测试方法。

第三次作业+105032014149