zoukankan      html  css  js  c++  java
  • 软件工程第二次作业(Junit和GoogleTest)

    使用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版本。

    编译完成后,进入msvcgtestDebug的文件下,找到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进行单元测试,对以后的软件开发能力又有了进一步提高。

  • 相关阅读:
    windows mobile 上文件压缩与解压缩之二
    windows mobile多线程示例
    JDK 1.5 环境变量的配置
    PDA连接远程数据库的三种解决方案(转)
    Windows Mobile连接数据库的几种方式(转)
    .Net Compact Framework 调用 Java WebService
    MyEclipse 中文乱码
    Tomcat环境变量配置
    XML on Windows Mobile (C#)
    从VS2005项目转换为VS2008项目(C#版)
  • 原文地址:https://www.cnblogs.com/zhangyazhou/p/8620412.html
Copyright © 2011-2022 走看看