个人项目 Individual Project

个人项目 Individual Project

 

 github地址:   https://github.com/yranqiu/Individual-Project-1/blob/master/CalculatorTest

 

编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。

 

package andycpp;

public class Calculator {
    private static int result; // 静态变量,用于存储运行结果
    public void add(int n) {
        result = result + n;
    }
    public void substract(int n) {
        result = result – 1;  //Bug: 正确的应该是 result =result-n
    }
    public void multiply(int n) {
    }         // 此方法尚未写好
    public void divide(int n) {
        result = result / n;
    }
    public void square(int n) {
        result = n * n;
    }
    public void squareRoot(int n) {
        for (; ;) ;            //Bug : 死循环
    }
    public void clear() {     // 将结果清零
        result = 0;
    }
    public int getResult() {
        return result;
    }
}

 

JUnit4单元测试包引入这个项目

 

 <span>个人项目 Individual Project</span>


在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮,


<span>个人项目 Individual Project</span>

然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进这个项目了。

   生成JUnit测试框架:在EclipsePackage Explorer中用右键点击该类弹出菜单,选择“New à JUnit Test Case”。如下图所示:
<span>个人项目 Individual Project</span>

在弹出的对话框中,进行相应的选择

<span>个人项目 Individual Project</span>
    点击“下一步”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此例中,我们仅对“加、减、乘、除”四个方法进行测试。
<span>个人项目 Individual Project</span>

完整的CalculatorTest代码如下:

 

package andycpp;

import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

public class CalculatorTest {

    private static Calculator calculator = new Calculator();
    
    @Before
    public void setUp() throws Exception {
        calculator.clear();
    }

    @Test
    public void testAdd() {
        calculator.add(2);
        calculator.add(3);
        assertEquals(5, calculator.getResult());
    }

    @Test
    public void testSubstract() {
        calculator.add(10);
        calculator.substract(2);
        assertEquals(8, calculator.getResult());
    }

    @Ignore(“Multiply() Not yet implemented”)
    @Test
    public void testMultiply() {
    }

    @Test
    public void testDivide() {
        calculator.add(8);
        calculator.divide(2);
        assertEquals(4, calculator.getResult());
    }
}

 

运行结果如下:

 <span>个人项目 Individual Project</span>

 

 

 

 总结:通过这个实验,了解一些软件测试的基本含义,学会了一些基本测试的步骤的设计和用例的构造。初步学会了junit4的使用,了解到基本流程和实现。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119432.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月17日 下午11:00
下一篇 2021年11月18日 上午6:00


相关推荐

  • JavaScript 模块化编程

    JavaScript 模块化编程简介 模块化就是 js 与 js 之间的调用 类似于 Java 类与类之间的调用 使用模块化可以使项目结构更加清晰明了 代码更加优雅 es5 写法 demo1 js 定义方法 consthello function return hello constok function return ok 指定哪些方法可以被调用 module exports hello ok demo2 js 引入要调用的文件 constm require demo1

    2026年3月17日
    1
  • Windows下安装Claude Code,使用API Key方式调GLM

    Windows下安装Claude Code,使用API Key方式调GLM

    2026年3月16日
    2
  • 企业级发卡网源码下载带代理系统授权搭建教程

    企业级发卡网源码下载带代理系统授权搭建教程  发卡网源码,英文名:Automaticshippingsourcecode,适用于构建在互联网上用于虚拟商品自动发货和交易的网购平台。往往根据用途和规模不同,分为:企业发卡网源码和个人发卡网源码,其核心功能为自动发货和自动收付款,类似于线下的无人售货机。  发卡网只适用于虚拟物品的交易,无法完成实物的交易,由于实物涉及快递时长,不符合发卡网方便快捷的特点。要想搭建一个运转良好的发卡网是需要做大量工作的,但最重要最基础的是搭建的发卡网源码稳定且bug少,不然很难提供频繁的发卡交易服务。 

    2022年7月14日
    38
  • git pre-commit hook failed 解决办法 卸载husky

    git pre-commit hook failed 解决办法 卸载huskyhusky gt npmrun sprecommit nodev8 11 3 lint staged husky gt pre commithookfa addno verifytobypa 出现上述问题 可以选择卸载 husky nbsp https www npmjs

    2026年3月17日
    2
  • java的单例模式是什么_Java单例模式是什么

    java的单例模式是什么_Java单例模式是什么Java单例模式是什么时间:2017-07-14来源:华清远见JAVA学院Java单例模式简介在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是JavaWeb中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全…

    2022年7月25日
    8
  • Java设计模式(十七)之行为型模式:责任链模式

    Java设计模式(十七)之行为型模式:责任链模式

    2021年4月9日
    113

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号