一.实验内容及其步骤

1.要想对某个程序进行单元测试,我们先是在eclipse中建立了一个新的项目,项目的名字是TDDDmeo。并在这个新的项目里右键单击创建一个source floder。并将floder的名字命名为test。

2.在创建好的test处右键单击,进行junit test case。之后,在src的文件夹里创建一个新的类,类的名字叫做MyUtil,它也就是我们要测试的类。

3.同样的道理,在生成的test包里创建一个新的类,它的名字叫做MyUtilTest,我们就是要用这个类对MyUtil进行测试。接下来,我们要对MyUtil类进行测试。

4.如果测试失败,在程序的左上方就会出现一个红条,证明程序出现了问题。将上面红框哪里的分数改为60,再运行一遍那个程序,就会出现绿条,证明程序测试成功了。

在本次试验中,我们进行了单元测试的学习,我用的是eclipse+Windows的形式,

通过一些基本的单元测试完成了本次的实验。

二.本章程序练习:

本章的练习题是编写一个复数类。按照实验要求编写了测试代码:

Complex类要输出实部,输出虚部,并按照a+bi的形式输出复数。

Complex类中有两个变量,实部RealPart和虚部ImaginaryPart。

实现复数类的产品代码:

public class complex {

//实部realpart,虚部imaginPart

private double realPart;

private double imaginPart;

//复数类Complex()构造函数,将实部虚部都置为0

public complex(){

this.realPart = 0;

this.imaginPart = 0;

}

//Complex(double r,double i)创建复数对象的同时完成复数的实部,虚部的初始化

public complex(double r,double i){

this.realPart = r;

this.imaginPart = i;

}

//getRealPart()获取实部

public double getRealPart(){

return realPart;

}

//getImaginaryPart()获取虚部

public double getImaginaryPart(){

return imaginPart;

}

//setRealPart(double d)设置实部

public void setRealPart(double d){

this.realPart = d;

}

//setImaginaryPart(double d)设置虚部

public void setImaginaryPart(double d){

this.imaginPart = d;

}

//add(Complex c)复数相加

public void add(complex c1,complex c2){

complex c = new complex(c1.realPart+c2.realPart,c1.imaginPart+c2.imaginPart);

print(c);

}

//minus(Complex c)复数相减

public void minus(complex c1,complex c2){

complex c = new complex(c1.realPart-c2.realPart,c1.imaginPart-c2.imaginPart);

print(c);

}

//ComplexMulti(Complex c)复数相乘

public void ComplexMulti(complex c1,complex c2){

complex c = new complex(c1.realPartc2.realPart-c1.imaginPartc2.imaginPart,c1.realPartc2.imaginPart+c1.imaginPartc2.realPart);

print(c);

}

//toString()把当前复数对象的实部,虚部组合成a+bi的字符串形式

public void print(complex c){

double a = c.realPart;

double b = c.imaginPart;

System.out.println(a+"+"+b+"i");

}

}

测试这个类的代码是:

import org.junit.Test;

import junit.framework.TestCase;

public class complextest extends complex {

      @Test
public void printTest(){
complex c1 = new complex(3.5,9);
complex c2 = new complex(9,23);
complex c = new complex();
c.ComplexMulti(c2, c1);
c.add(c1, c2);
c.minus(c1, c2);
}

}

代码编好后,在eclipse上运用TDD模式测试一下代码,出现了绿条:

证明程序测试成功了。

三.实验感想总结:

本次的java的实验学习中,我们在不断地单元测试改进中,知道了怎样去编写出更完整的代码,并且代码的稳定性越来越高,这也是成为优秀的程序员的必经之路。

20145127《java程序设计》第二次实验的更多相关文章

  1. java程序设计第二次实验报告

    北京电子科技学院(BESTI) 实验报告 课程:数据结构    班级:1352    姓名:何伟钦     学号:20135223 成绩:            指导教师:娄嘉鹏      实验日期: ...

  2. java的第二个实验——JAVA面向对象程序设计

    java的第二个实验——JAVA面向对象程序设计 北京电子科技学院 实     验    报     告 课程:Java程序设计 班级:1352 姓名:林涵锦 学号:20135213 成绩:      ...

  3. 20145127《java程序设计》第一次实验

    <java程序设计>第一次实验 实验内容及其步骤 1.使用JDK编写简单的Java小程序: Java编译的方法有很多,最基础最简单的就是使用命令行,记事本,Java虚拟机直接进行编译,下面 ...

  4. 《JAVA程序设计》 20155208 实验四 Android程序设计

    <JAVA程序设计> 20155208 实验四 Android程序设计 实验一: 实验要求: Android Stuidio的安装测试: 参考<Java和Android开发学习指南( ...

  5. 20155339《java程序设计》第一次实验报告

    20155339<java程序设计>第一次实验报告 实验一 java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序: 2.使用IDEA编辑.编译.运行.调试java程 ...

  6. 20145330《Java程序设计》第一次实验报告

    20145330<Java程序设计>第一次实验报告 实验一Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Ja ...

  7. 20145320《Java程序设计》第一次实验报告

    20145320<Java程序设计>第一次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 18: ...

  8. 20145317彭垚 《Java程序设计》第一次实验实验报告

    20145317彭垚 <Java程序设计>第一次实验实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的 ...

  9. 《Java程序设计》课程实验要求

    目录 <Java程序设计>课程实验要求 注册实验楼账号 实验一 Java开发环境的熟悉 实验二<Java面向对象程序设计> 实验三 <敏捷开发与XP实践> 实验四 ...

  10. #《JAVA程序设计》 20155214 实验五 网络编程与安全

    <JAVA程序设计> 20155214 实验五 网络编程与安全 实验内容 掌握Socket程序的编写: 掌握密码技术的使用: 设计安全传输系统. 实验要求 要求一 结对实现中缀表达式转后缀 ...

随机推荐

  1. tkinter 提示符

    在python3.4中,原来的tkMessageBox变成tkinter.messagebox,使用方式如下: import tkinter.messagebox tkinter.messagebox ...

  2. 【Git 使用笔记】第一部分:安装git 和 使用git

    第一部分:安装git(本人使用ubuntu系统) sudo apt-get install git 第二部分:基本配置 git config core.filemode false//忽略文件属性的修 ...

  3. C++三大特性之封装

    原文地址:https://qunxinghu.github.io/2016/09/12/C++%20%E4%B8%89%E5%A4%A7%E7%89%B9%E6%80%A7%E4%B9%8B%E5%B ...

  4. 关于static、内部类

    1.static不能修饰外部类的原因 static修饰的成员是属于某个类的.而外部类的上一级程序单元是包,所以static不能修饰外部类. 2.外部类,内部类有不同访问权限的原因 外部类的上一级程序单 ...

  5. Loadrunner 手动关联技术

    录制成功,回放失败,怀疑和动态数据有关: 1 重新录制一份脚本,两次录制的脚本进行比对,确定动态数据,复制动态数据: 2  找到第一次产生该动态数据的响应对应的相应请求: 1)  拷贝脚本中适当长度的 ...

  6. iOS开发-url包括中文报错解决的方法

    常常, 我们用通过这个方案调用API. NSString* urlString = [NSString stringWithFormat:@"http://api.douban.com/v2 ...

  7. isScroll的滚动组件的用法

    <div class="wrapper">  <ul>     <li>1</li>     <li>2</li& ...

  8. python中各种数据类型

    数字类型 整型int 作用:年纪,等级,身份证号,qq号等与整型数字有关 定义: age=10 #本质age=int(10) 浮点型float 作用:薪资,身高,体重等与浮点数相关 salary=3. ...

  9. [django]JsonResponse序列化数据

    def home(request): data = { 'name': 'maotai', 'age': 22 } import json return HttpResponse(json.dumps ...

  10. [py]GIL(全局解释器锁):多线程模式

    在多线程 时同一时刻只允许一个线程来访问CPU,直到解释器遇到I/O操作或者操作次数达到一定数目时才会释放GIL 参考 Python虽然不能利用多线程实现多核任务,但可以通过多进程实现多核任务.多个P ...