当前位置: 首页 > news >正文

初次尝试单元测试

一、选择开发工具

  根据老师的推荐,还有自己会的c++,由于我很早就已经安装了visual studio2013,所以我选择了visual studio2013。Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。其初始界面如图1所示:
1345898-20180321210256109-1710914956.png

图1.初始界面

二、进行简单的单元测试

在这里我准备了两组简单的测试程序:
(1)老师给的案例中的例子:

namespace 测试程序0
{
    public class User
    {
        public User(string userEmail)
        {
            m_email = userEmail;
        }
        private string m_email; //user email as user id
    }   
}

首先我们需要准备好测试的环境,点击新建项目,然后点击visual #C,选择类库然后确定,如图2所示:
1345898-20180321211054642-504096168.png

图2.准备界面

我们将准备好的程序写在我们准备好的环境中,如图3所示:
1345898-20180321211542331-1218439811.png
图3.例一输入界面

鼠标右键点击程序中的User然后选择Greate Unit Test进入测试的界面。如图4所示:
1345898-20180321212049513-1773867323.png

图4.测试准备界面

根据你自己的测试程序进行简单修改,如图5所示:
1345898-20180321212317441-1060405430.png
图5.例一修改界面

最后在点击测试,便得到了最终的测试结果。如图6所示:
1345898-20180321212531357-197323881.png
图6.例一结果界面

(2)自己寻找的程序:
namespace ClassLibrary4.Tests
{
    [TestClass()]
    public class testTests
    {
        [TestMethod()]
        public void addTest()
        {
            int a = 1, b = 2, expect = 3;
            test t = new test();
            int real = t.add(a, b);
            Assert.AreEqual(real, expect);
            //Assert.Fail();
        }
    }
}

其操作步骤和(1)一样最终我们得到的新的输入界面、修改界面和结果如下所示:
1345898-20180321212853290-233211987.png

图7.例二输入界面

1345898-20180321212905695-1158081326.png
图8.例二修改界面

1345898-20180321212924797-90191592.png
图9.例二结果界面

三、心得体会

  在这次的操作中,遇到了许多小的问题,最终都通过查百度和问同学解决,最根本的原因就是对于这款软件的操作不够熟悉,例如刚开始进行测试时,测试的界面总是找不到,经过不断地查询才发现自己将测试用的那一部分Greate Unit Test并未安装上。除此之外,收获也有许多,我学习到了一些新的知识,动手能力也都得到了一些提升。

转载于:https://www.cnblogs.com/wangjunhong/p/8619847.html

相关文章:

  • 突发奇想 应用商店的会员模式
  • Swift 基本数据类型
  • iterator取集合元素
  • 前端ps切图,图文教程,详细。
  • android6.0以上权限动态申请,有视频链接可以看效果。
  • svm资料收集
  • java学习--基础知识第四天--笔记
  • WPF中自定义MarkupExtension
  • 省选专练CQOI2015网络吞吐量
  • 博客作业2---线性表
  • spring-boot jpa mysql emoji utfmb4 异常处理
  • list.FindAll of C#
  • 关于emgucv控制多摄像头问题
  • 一分钟上手, 让 Golang 操作数据库成为一种享受
  • 逆序对问题
  • angular组件开发
  • ES6核心特性
  • ES6系统学习----从Apollo Client看解构赋值
  • HTML5新特性总结
  • js正则,这点儿就够用了
  • python docx文档转html页面
  • Python打包系统简单入门
  • SegmentFault 2015 Top Rank
  • windows下mongoDB的环境配置
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 技术胖1-4季视频复习— (看视频笔记)
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 使用 Docker 部署 Spring Boot项目
  • 手写双向链表LinkedList的几个常用功能
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 阿里云ACE认证学习知识点梳理
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (42)STM32——LCD显示屏实验笔记
  • (6)添加vue-cookie
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C#)获取字符编码的类
  • (pojstep1.1.2)2654(直叙式模拟)
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (转)Linux下编译安装log4cxx
  • (转)Mysql的优化设置
  • (转)ObjectiveC 深浅拷贝学习
  • (转)Oracle存储过程编写经验和优化措施
  • (转)创业的注意事项
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • **PHP二维数组遍历时同时赋值
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .net mvc部分视图
  • .net 后台导出excel ,word
  • .net和php怎么连接,php和apache之间如何连接
  • .NET中winform传递参数至Url并获得返回值或文件
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • ::什么意思
  • ?