一、实验主要内容:

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. Java基础面试操作题: 获取 1-20 之间的随机数,共计 20 个,要求不能重复 获取 1-20 之间的随机数,共计 10 个,要求不能重

    package com.swift; import java.util.HashSet; import java.util.Random; import java.util.Set; public c ...

  2. 洛谷P1164小A点菜

    这也是一道01背包的题 用的方法比较的巧妙.这个动态规划相当于反过来做的,自己理解就知道了.代码很短 #include<bits/stdc++.h> using namespace std ...

  3. 深入理解java虚拟机读书笔记1--java内存区域

    Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途.创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随 ...

  4. JZOJ 5842

    Description 给定一个n*m 的 01 矩阵,求包含[l,r]个 1 的子矩形个数. Input 第一行,两个正整数n,m.接下来n 行,每行一个长度为 m 的 01 串,表示给定的矩阵.接 ...

  5. mem_init()

    原本由bootmem管理的内存在mem_init函数中交由伙伴系统管理. 1.free_unused_memmap_node 相邻的membank间可能存在空洞,但在bootmem阶段这些空洞页也分配 ...

  6. ArcGis API for JavaScript学习——离线部署API

    ArcGis API for JavaScript开发笔记——离线部署API 以3.18版API为例: 在加载图图前引用GIS服务是必须的.有两种方法,一是在线引用,而是离线部署引用. 在线引用: & ...

  7. Diycode开源项目 NotificationActivity

    1.NotificationActivity预览以及布局详解 1.1.首先看一下通知的具体页面. 1.2.然后是布局代码==>activity_fragment.xml <LinearLa ...

  8. time模块和datetime模块详解

    一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...

  9. 常用的一些api

    发送手机短信 // 发送短信给安全号码 SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phon ...

  10. S变换

    哈哈,这两天在整理时频分析的方法,大部分参考网上写的比较好的资料,浅显易懂,在这谢过各位大神了! 今天准备写下S变换,由于网上资料较少,自己尝试总结下,学的不好,望各位多多指导 由前面的文章可知,傅里 ...