zoukankan      html  css  js  c++  java
  • [软件测试基础1](上机实验:三角形的判断)

    一.junit、hamcrest和eclemma的安装:

    1.junit和hamcrest在新建了junitHw1工程后在build path里通过add external jars添加junit-4.12.jar和hamcrest-all-1.3.jar。

    2.安装eclemma

    二.编写Triangle以及Triangletest:

     1.主要代码(判断三角形性质)

     1 package example;
     2 
     3 /**
     4  * Created by Ev_Eraser on 2016/3/18.
     5  */
     6 public class Myclass {
     7     public String triangle(int a,int b,int c) {
     8         if(a + b < c || a + c < b || b+ c < a)
     9             return "notTriangle";
    10         if(a == b && b == c)
    11             return "isosceles";
    12         if(a == b || b == c || a == c)
    13             return "equilateral";
    14         else
    15             return "scalene";
    16     }
    17 }

    2.测试

    package example;
    
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.junit.runners.Parameterized;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collection;
    
    import static org.junit.Assert.*;
    @RunWith(Parameterized.class)
    public class MyclassTest {
        private Myclass myClass;
        private int input1;
        private int input2;
        private int input3;
        private String expected;
    
        public MyclassTest(int input1, int input2,int input3,String expected){
            this.input1 = input1;
            this.input2 = input2;
            this.input3 = input3;
            this.expected = expected;
    
        }
        @Before
        public void setUp() throws Exception {
            myClass = new Myclass();
        }
    
    @Parameterized.Parameters
        public static Collection<Object[]> getData(){
        return Arrays.asList(new Object[][]{
                {2,2,2,"isosceles"},
                {2,2,3,"equilateral"},
                {2,4,3,"scalene"},
                {2,9,2,"notTriangle"}
        });
        }
    
    //    @After
    //    public void tearDown() throws Exception {
    //
    //    }
    
        @Test
        public void testTriangle() throws Exception {
            assertEquals(this.expected, myClass.triangle(input1,input2,input3));
        }
    }

    3.测试结果截图

    四个测试案例都通过,覆盖率90%

  • 相关阅读:
    设计模式--4建造者模式
    java中的方法重载与重写以及方法修饰符
    设计模式--3.模板方法模式
    设计模式--2.工厂方法模式
    设计模式--1.单例模式
    问题--时景某些用户不能发表评论解决方案
    EXCEL:从一组数据中查找我想要的某个数据是否存在
    Git版本控制--05--可以吃后悔药之版本回退
    Git版本控制--04--文件修改后怎么提交
    Git版本控制--03--怎么向Git仓库中添加文件
  • 原文地址:https://www.cnblogs.com/eraserNut/p/5295092.html
Copyright © 2011-2022 走看看