一、实验主要内容:

1、

2、EclEmma安装

见: http://www.cnblogs.com/1995hxt/p/5291465.html

二、对与 Junit 安装,使用 maven管理项目,方便jar包的版本管理,冲突管理等等。

三、实验demo

1、方法主类:

package cn.edu.tju.scs;

/**
* Hello world!
*
*/
public class Lab1
{ /**
* 判断是否为三角形,
* 若是,是否是等腰或者等边
* @param a
* @param b
* @param c
* @return -1 :不是; 0:普通三角形;1 等腰三角形;2:等边三角形
*/
public static int judgeTri(int a,int b,int c){
System.out.println("参数: " + a + " " + b + " " + c);
int result = -1;
if(a <=0 || b <= 0 || c<= 0){
System.out.println("return -1 --------------: 不是三角形");
return result;
}
if(a + b > c && a + c > b && b + c > a){
result = 0;
if(a == b && a == c){
System.out.println("return 2 --------------: 等边三角形");
result = 2;
}else if(a ==b || a == c || b== c){
System.out.println("return 1 --------------: 等腰三角形");
result = 1;
}else {
System.out.println("return 0 --------------: 普通三角形");
}
}else{
System.out.println("return -1 --------------: 不是三角形");
}
return result;
}
}

2、测试类:

package cn.edu.tju.scs;

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.Arrays;
import java.util.Collection; import static junit.framework.Assert.assertEquals; /**
* Unit test for simple App.
*/
@RunWith(Parameterized.class)
public class Lab1Test {
int expected = 0;
int input1 = 0;
int input2 = 0;
int input3 = 0; /**
* 判断是否为三角形,
* 若是,是否是等腰或者等边
* @return -1 :不是; 0:普通三角形;1 等腰三角形;2:等边三角形
*/ @Parameterized.Parameters
public static Collection<Object[]> t(){
return Arrays.asList(new Object[][]{
{-1,0,0,0},
{-1,1,3,4},
{1,3,3,2},
{2,3,3,3},
{0,4,5,3},
{-1,3,0,-4},
{0,5,7,3},
{1,3,5,5}
});
}
public Lab1Test(int expected,int input1,int input2,int input3){
this.expected = expected;
this.input1 = input1;
this.input2 = input2;
this.input3 = input3;
} @Before
public void before(){
System.out.println("测试开始 - - - - - - - - - - - - - - - - - - - - - - - ");
} @Test
public void testJudgeTri(){
assertEquals(expected,Lab1.judgeTri(input1,input2,input3));
} @After
public void afeter(){
System.out.println("测试结束 - - - - - - - - - - - - - - - - - - - - - - - \n\n");
} }

3、测试结果:

软件测试入门 1—— junit 单元测试的更多相关文章

  1. Spring的AOP开发入门,Spring整合Junit单元测试(基于ASpectJ的XML方式)

    参考自 https://www.cnblogs.com/ltfxy/p/9882430.html 创建web项目,引入jar包 除了基本的6个Spring开发的jar包外,还要引入aop开发相关的四个 ...

  2. 十二 Spring的AOP开发入门,整合Junit单元测试(AspectJ的XML方式)

    创建web项目,引入jar包 引入Spring配置文件

  3. Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 本文是Java反射学习总结系列的最后一篇了,这里贴出之前文章的链接,有兴趣的可以打开看看. ...

  4. 【Java】Junit单元测试

    什么是单元测试? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证. 对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Ja ...

  5. junit单元测试(keeps the bar green to keeps the code clean)

    error是程序错误,failure是测试错误. junit概要: JUnit是由 Erich Gamma (设计模式的创始人)和 Kent Beck (敏捷开发的创始人之一)编写的一个回归测试框架( ...

  6. spring && Cobertura && maven &&junit 单元测试以及测试覆盖率

    1. 目的:       junit 单元测试,Cobertura   测试覆盖率报告       项目目录结构          2. maven 配置     <project xmlns= ...

  7. 解决Junit单元测试 找不到类 ----指定Java Build Path

    做junit 单元测试时,发现怎么执行都是以前编译过得代码. 最后找到原因了, src/test/java 编译完的.class路径是 Default output folder Default ou ...

  8. JUnit单元测试框架的使用

    http://blog.csdn.net/mao520741111/article/details/51462215 原文地址 http://www.open-open.com/lib/view/op ...

  9. Java 工具 JUnit单元测试

    Java 工具 JUnit单元测试 @author ixenos 1.1.   JUnit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个 ...

随机推荐

  1. 30. 与所有单词相关联的字串、java实现

    题目描述: 给定一个字符串 s 和一些长度相同的单词 words.在 s 中找出可以恰好串联 words 中所有单词的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字符, ...

  2. SummerVocation_Learning--StringBuffer类

    java.lang.StringBuffer代表可变的字符序列.与String类基本类似. 常见的构造方法: StringBuffer(),创建一个不包含字符序列的空的StringBuffer对象. ...

  3. mysql 存储过程 例子

    DROP PROCEDURE IF EXISTS variable_demo; delimiter // CREATE PROCEDURE variable_demo() BEGIN select ' ...

  4. MySQL基础 - 1 数据库基础

    一.数据库基础 1.什么是数据库 1.数据库(database)是保存有组织的数据的容器( 通常是一个文件或一组文件 ) 2.数据库是一个以某种有组织的方式存储的数据集合 注意:数据库软件应该称为DB ...

  5. centos7.4安装rabbitmq服务(3.7.10版本)

    一.需要安装erlang版本依赖,可以使用二进制安装方式,也可以通过rpm安装,但是安装的时候会提示需要erlang版本>=19.3,而且直接默认yum仓库中的版本较低.,为了节省时间,文章中直 ...

  6. php同一个用户同时只能登陆一个, 后登陆者踢掉前登陆者(排他登陆)

    通常用户登陆,如果没有特别的限定, 同一个用户可以同时登陆, 今天搞了一个东西限定一个用户不能同时登陆到一个系统上, 后登陆者会把前面登陆的踢出来.(有点像QQ,同个帐号不能在多个地方同时在线, 后面 ...

  7. Node 操作MySql数据库

    1, 需要安装 MySQL 依赖 =>  npm i mysql -D 2, 封装一个工具类 mysql-util.js // 引入 mysql 数据库连接依赖 const mysql = re ...

  8. python3 包的发布

    发布流程大概如下 1. 首先需要有一个python包,就是一个文件夹,但是此文件夹下面有__init__.py文件,里面内容是 现在要发布包TestMsg,这就是一个python包.在同级目录下新建s ...

  9. Python开发不可不知的虚拟环境

    一.python3.3之后自带的venv模块 1. 创建虚拟环境 python3.6 -m venv project-env 2. 加入虚拟环境目录 cd pronject-env 3. 激活虚拟环境 ...

  10. [USACO]奶牛博览会(DP)

    Description 奶牛想证明他们是聪明而风趣的.为此,贝西筹备了一个奶牛博览会,她已经对N头奶牛进行了面试,确定了每头奶牛的智商和情商. 贝西有权选择让哪些奶牛参加展览.由于负的智商或情商会造成 ...