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.一次可以执行多个测试用例

目录
相关文章
|
5月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
3月前
|
测试技术 开发者
vertx的学习总结6之动态代理类和测试
本文是Vert.x学习系列的第六部分,介绍了如何使用动态代理在事件总线上公开服务,以及如何进行Vert.x组件的异步测试,包括动态代理的创建和使用,以及JUnit 5和Vert.x测试工具的结合使用。
33 3
vertx的学习总结6之动态代理类和测试
|
3月前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
41 5
|
4月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
60 2
|
4月前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
83 6
|
5月前
|
JSON 测试技术 数据格式
单元测试问题之使用JCode5插件生成测试类如何解决
单元测试问题之使用JCode5插件生成测试类如何解决
197 3
|
5月前
|
测试技术
单元测试问题之使用TestMe时利用JUnit 5的参数化测试特性如何解决
单元测试问题之使用TestMe时利用JUnit 5的参数化测试特性如何解决
67 2
|
5月前
|
Java 测试技术 Spring
单元测试问题之在 JCode5 类中使用 testService如何解决
单元测试问题之在 JCode5 类中使用 testService如何解决
36 2
|
5月前
|
Java 测试技术 Maven
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
292 1
|
5月前
|
测试技术
如何使用 JUnit 测试方法是否存在异常
【8月更文挑战第22天】
104 0