使用Eclipse的Junit框架进行单元测试

一、前言

我的电脑因为以前学过安卓开发,已经安装好了eclipse,看了邹欣老师的博客,博客上讲的的非常详细,所以在进行的过程中遇到困难,基本都能解决。

二、详细过程

1、新建项目

打开eclipse,点击左上角的file,然后new-->Project

选择Java Project

点击next,工程名字为TestUnit

右击工程TestUnitnew-->class

包名个人喜好,类名,我这里选择Claculator,点击finsh

然后在Claculator.java中添加如下代码:

package zhangyazhou;

public class Calculator {
public int add(int x,int y){
return x + y;
}
public int substract(int x,int y){
return x - y;
}
public int multiply(int x,int y){
return x * y;
}
public int divide(int x,int y){
return x / y;
}
}

eclipse中如下图:

2、进行单元测试

选中Claculator.class,点击右键,new-->Junit Test case.

点击finsh

ClaculatorTest.java里添加如下代码:

package zhangyazhou;

import static org.junit.Assert.*;

import org.junit.Test;

public class CalculatorTest {

@Test
public void testAdd() {
assertEquals(8,new Calculator().add(3,5));
assertEquals(5,new Calculator().add(3,2));
assertEquals(0,new Calculator().add(3,-3));
}
}

eclipse中如下图:

现在进行测试,选中ClaculatorTest.java,右键,Run As-->Junit Test

结果如下:

更改ClaculatorTest.java部分数值,结果如下:

3、自动测试

选中Claculator.java,右击,new-->other

搜索Junit

点击next,重命名为ClaculatorAutoTest,再点击next

勾选需要测试的函数。

最后运行测试,因为没有改动ClaculatorAutoTest.java里的值,所以,测试失败。

使用GoogleTest框架对C++进行单元测试

一、前期准备

二、环境配置

解压安装包,找到msvc文件夹。

点击进入,找到gtest.sln,用VS2010打开。

依此编译gtest,和gtest_main两个项目的Debug和Relase版本。

编译完成后,进入msvc\gtest\Debug的文件下,找到gtestd.lib,gtestd_main.lib,复制到与msvc同目录下的lib文件夹中(没有的话,新建一个)。

在VS2010中新建一个控制台程序,并且添加fun.cppfun.h,如图所示。

选中工程文件,右击,进入属性。

进入C/C++-->常规-->附加包含目录

复制GoogleTest里的include文件夹,复制到里面。

然后进入链接器-->输入,编辑附加依赖项。

现在环境配置好了。

三、进行单元测试

在fun.cpp中添加代码:

#include "fun.h"
#include <iostream>
#include "stdafx.h"
using namespace std;
int fun(int a,int b)
{
return (a - b);
}

在fun.h中添加代码:

#pragma once
int fun(int a,int b);

在Testunit.cpp添加代码:

#include "stdafx.h"
#include "gtest/gtest.h"
#include "fun.h"
#include <tchar.h> TEST(fun,casel)
{
EXPECT_LT(-2,fun(1,2));
EXPECT_EQ(-1,fun(1,2));
ASSERT_LT(-2,fun(1,2));
ASSERT_EQ(-1,fun(1,2));
} int _tmain(int argc, _TCHAR* argv[])
{
testing::InitGoogleTest(&argc,argv);
RUN_ALL_TESTS();
system("PAUSE");
return 0;
}

最后点击运行,结果如下:

总结

从本次的任务中,我学会了如何利用JunitGoogleTest进行单元测试,对以后的软件开发能力又有了进一步提高。

软件工程第二次作业(Junit和GoogleTest)的更多相关文章

  1. 集大1513 & 1514班 软件工程第二次作业评分与点评

    谢谢按时完成作业的同学. 请大家在今后的作业中多思考,认真完成并注意作业的原创性. 学号 作业标题 作业地址 提交日期 分数 201521121087 微信APP简要分析 http://www.cnb ...

  2. 软件工程第二次作业(JUnit的使用)

    初次使用JUnit 感谢学习资源Junit使用的超简单介绍源 一.开发环境及界面截图: 系统   Windows 10      编辑器       eclipse         语言        ...

  3. 软件工程第二次作业(Android Studio利用Junit进行单元测试)

    一.开发工具的安装和运行 1.安装 由于我的电脑之前就安装好了Android Studio,就不再重装了.在这里就给出几条安装过程中需要注意的地方吧: 安装包最好在官网下载已经带有Android SD ...

  4. 软件工程 - 第二十次作业 Alpha 事后诸葛亮(团队)

    Alpha 事后诸葛亮(团队) 组长本次作业链接:https://www.cnblogs.com/dawnduck/p/10056026.html 现代软件工程 项目Postmortem 设想和目标 ...

  5. 软件工程第二次作业——git的使用

    1. 参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的 ...

  6. 17秋 软件工程 第二次作业 sudoku

    2017年秋季 软件工程 作业2:个人项目 sudoku Github Project Github Project at Wasdns/sudoku. PSP Table PSP2.1 Person ...

  7. 软件工程第二次作业(One who wants to wear the crown, Bears the crown.)

    小镓自述Eclipse使用及自动单元测试技术 因为本人对JAVA有一些兴趣,所以就决定用Eclipse来完成这次作业,从安装Eclipse到学习写代码,最后学会用Junit来进行单元测试.这段过程给我 ...

  8. 软件工程第二次作业——Java学习路线

    我的第二次软工作业 过去我对自己所学和想学都很迷茫,以至于学得总是一知半解,但现在我想主攻Java方向,并坚定不移地走下去(之后拓展其他方面就是以后的事情了).之所以想主攻Java方向是因为Java本 ...

  9. 【软件工程第二次作业】个人项目:WordCountPy

    一.GitHub 地址 项目 GitHub 地址为:https://github.com/bytemo/WordCountTool 二.PSP表格 PSP2.1 Personal Software P ...

随机推荐

  1. 设置x 轴斜体(每次我都百度,这次单独为它发一个)

    plt.xticks(rotation = 45) 2020-06-07

  2. PHP curl_setopt_array函数

    (PHP 5 >= 5.1.3) curl_setopt_array — 为 cURL 传输会话批量设置选项. 说明 bool curl_setopt_array ( resource $ch ...

  3. PHP simplexml_load_file() 函数

    实例 转换 XML 文件为 SimpleXMLElement 对象,然后输出对象的键和元素: <?php高佣联盟 www.cgewang.com$xml=simplexml_load_file( ...

  4. python 创建字典以及操作字典----这是基础知识

    当你编程久了,发现所有的东西都是建立在基础之上的,庞大的代码 你要识别出它的类型是什么 或者返回后类型是什么!? 根据返回的类型 或者需要操作的对象是什么类型  就可以选择相应的方法进行处理 #创建字 ...

  5. api接口返回动态的json格式?我太难了,尝试一下 linq to json

    一:背景 1. 讲故事 前段时间和一家公司联调api接口的时候,发现一个奇葩的问题,它的api返回的json会动态改变,简化如下: {"Code":101,"Items& ...

  6. 【AHOI2009】同类分布 题解(数位DP)

    题目大意:求$[l,r]$中各位数之和能被该数整除的数的个数.$0\leq l\leq r\leq 10^{18}$. ------------------------ 显然数位DP. 搜索时记录$p ...

  7. Serverless无服务器架构详解

    本文对Serverless架构的基础概念.具体产品.应用场景.工作原理进行详细解析. 基础概念 Serverless: 无服务器架构,即在无需管理服务器等底层资源的情况下完成应用的开发和运行,是云原生 ...

  8. 面试被问:如果系统 CPU 突然飙升且 GC 频繁,你该如何排查?

    出自:开源中国 原文:系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题. ...

  9. 文件上传Upload 学习笔记

    整理完自己还有点晕,看来还是得找点靶场自己练习练习Orz 1:客户端JavaScript校验 Burp改包即可 2:服务端对Content-Type进行校验 猜测后,修改对应Content-Type字 ...

  10. DB2 SQL Error: SQLCODE=-1585, SQLSTATE=54048

    DB2 执行SQL报错: DB2 SQL Error: SQLCODE=-1585, SQLSTATE=54048 你建的db2数据库没有建足够大的临时表空间,新建一个足够大的临时表空间 1.创建数据 ...