Junit对Triangle( )类(判断三角形)进行测试。

简介: Junit对Triangle( )类(判断三角形)进行测试。

一、实验目的


对Triangle( )类(判断三角形)进行测试。

Triangle( )类具有以下要求:

 类有3个成员分别是三条边;它们都具有整数值,且满足以下条件。

 若给定三条边不能构成三角形,则提示用户并返回代码0;若给定三条边构成不规则三角形,则提示用户并返回代码1;若给定三条边构成等腰三角形,则提示用户并返回代码2;若给定三条边构成等边三角形,则提示用户并返回代码3。


二、测试环境、实现语言及测试工具


环境:eclipse

语言:Java

测试工具:JUnit


三、测试用例

(请使用判定表设计测试用例)


测试用例编号 a b c 预期输出

5 2 1 不规则三角形

1 5 2 不规则三角形

1 2 5 不规则三角形

8 8 8 等边三角形

, , , 不可能

, , , 不可能

4 4 5 等腰三角形

, , , 不可能

4 5 4 等腰三角形

5 4 4 等腰三角形

3 4 5 不规则三角形


四、函数及测试函数代码


public class Triangle {
  private int a;
  private int b;
  private int c;
  public Triangle(int a,int b,int c){
    this.a=a;
    this.b=b;
    this.c=c;
  }
  public int isTriangle(){
    // if (a>b+c&&b>a+c&&c>a+b) {
    if (a>b+c||b>a+c||c>a+b) { // 2021-07-13 修改
      System.out.println(a+" "+b+" "+c+"不是三角形");
      return 0;
    }else {
      if (a==b||b==c||c==a) {
        if (a==b&&c==b) {
          System.out.println(a+" "+b+" "+c+"是等边三角形");
          return 3;
        }
        System.out.println(a+" "+b+" "+c+"是等腰三角形");
        return 2;
      }
      System.out.println(a+" "+b+" "+c+"是不规则三角形");
      return 1;
    }
  }
}


测试的代码

import junit.framework.*;
public class TestTriangle extends TestCase {
  Triangle t1 = new Triangle(5, 2, 1);
  Triangle t2 = new Triangle(1, 5, 2);
  Triangle t3 = new Triangle(1, 2, 5);
  Triangle t4 = new Triangle(8, 8, 8);
//  Triangle t5 = new Triangle(, , );因为有不可能
//  Triangle t6 = new Triangle(, , );
  Triangle t7 = new Triangle(4,4 ,5 );
//  Triangle t8 = new Triangle(, , );
  Triangle t9 = new Triangle(4, 5, 4);
  Triangle t10 = new Triangle(5, 4, 4);
  Triangle t11 = new Triangle(3, 4, 5);
  public void test(){
    assertEquals(1, t1.isTriangle());
    assertEquals(1, t2.isTriangle());
    assertEquals(1, t3.isTriangle());
    assertEquals(3, t4.isTriangle());
    assertEquals(2, t7.isTriangle());
    assertEquals(2, t9.isTriangle());
    assertEquals(2, t10.isTriangle());
    assertEquals(1, t11.isTriangle());
  }
}



五、运行结果


于2021-07-13 修改,此截图有误 5 2 1 怎么能是三角形呢


20190402202037174.png



六、Junit安装



将Junit.rar(可以在http://www.junit.org下载到最新版本)解压到某一个目录下,如C:\,之后在classpath中加入: “c:\junit;c:\junit\junit.jar;”定义类路径。

在eclipse 中加入Junit:

点击File旁边的旁边的······的Project,然后点开后点击Properties(最下面的那个),然后点开一个窗口,点击Java Build Path ,在点击Libraries(第三个,刚点进去在第四个)然后点击最右边的Add External JARs…(从上向下数的二个),

然后就导入你下载的Junit的路径。

最重要的一步,点击Apply ,在点击Ok 然后就可以应用了


Junit好处:

1.不需对源程序进行任何修改,减少风险

2.一次可以执行多个测试用例

目录
相关文章
|
6天前
|
IDE Java 测试技术
使用JUnit进行单元测试:提高Java Web应用的稳定性和可靠性
【4月更文挑战第3天】本文介绍了JUnit,一个广泛使用的Java单元测试框架,由Kent Beck和Erich Gamma创建。JUnit核心特性包括注解、断言、测试套件、测试监听器和异常测试。在Java Web应用中,单元测试主要针对模型层。使用JUnit测试涉及设置环境、编写测试类、标记测试方法及运行和分析结果。单元测试能提早发现问题、简化调试、保证代码质量、促进重构并作为实时文档。掌握JUnit对提升软件质量和效率至关重要。
|
6天前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
29 1
|
6天前
|
IDE Java 测试技术
Junit 单元测试
JUnit是Java常用的单元测试框架,简化了测试用例的编写和执行。其特点包括简单注解、自动化测试、可扩展性、灵活性及与IDE的集成。使用方法涉及创建测试类、利用注解如@Test、@BeforeEach等管理测试生命周期,以及使用各种断言方法验证结果。此外,JUnit支持参数化测试以覆盖更多输入组合,并能与Maven、Gradle等构建工具集成,提升测试效率和项目管理。
51 1
|
6天前
|
Java 测试技术 Spring
Spring Boot 基于 JUnit 5 实现单元测试
Spring Boot 基于 JUnit 5 实现单元测试
34 0
|
6天前
|
Java 测试技术 程序员
junit单元测试
junit单元测试
|
5天前
|
消息中间件 Kafka 网络安全
JUnit5学习之七:参数化测试(Parameterized Tests)进阶
JUnit5学习之七:参数化测试(Parameterized Tests)进阶
|
5天前
|
Java 测试技术
Java一分钟之-单元测试:JUnit与TestNG
【5月更文挑战第16天】本文介绍了Java常用的单元测试框架JUnit和TestNG,JUnit以其简洁注解受到青睐,而TestNG则提供更高级功能如参数化测试。常见问题包括测试未执行、断言失败等,解决办法包括检查项目配置、调整测试顺序。注意保持测试简单独立,确保高覆盖率。选择合适的框架可提升代码质量。
11 0
|
6天前
|
人工智能 测试技术 数据处理
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法
9 0
|
6天前
|
测试技术
测试基础 Junit单元测试框架
测试基础 Junit单元测试框架
15 2
测试基础 Junit单元测试框架
|
6天前
|
安全 Java 测试技术
Spring Boot 自动化单元测试类的编写过程
企业开发不仅要保障业务层与数据层的功能安全有效,也要保障表现层的功能正常。但是我们一般对表现层的测试都是通过postman手工测试的,并没有在打包过程中代码体现表现层功能被测试通过。那么能否在测试用例中对表现层进行功能测试呢?答案是可以的,我们可以使用MockMvc来实现它。
52 0

热门文章

最新文章