• 单元测试


     

     对源程序的修改:

    首先max未初始化:用list[0]来作为max的初始值;

    然后发现for循环结束条件有错:将for循环中i < length-1修改成为i < length

    异常处理,将抛出一个异常

    编译源文件并运行该测试:增加提示信息;

     修改后的测试程序:

    复制代码
    #include<iostream>
    #define null -858993460
    using namespace std;
    
    void main()
    {
        int largest(int list[],int length);
    
        int a[]={7,8,9},b[]={-3,-1,-5},c[3],d[4]={7,8,7,8},e[]={0},max;
        
        max=largest(a,3);
        cout<<max<<endl;
        max=largest(b,3);
        cout<<max<<endl;
        max=largest(c,0);
        cout<<max<<endl;
        max=largest(d,4);
        cout<<max<<endl;
        max=largest(e,1);
        cout<<max<<endl;
    }
    
    int largest(int list[],int length)
    {
        int i,max=list[0];
        if(list==NULL||length==0)
        {
            cout<<"error!input null!";      //输出提示信息
            return 0;                       //返回特殊值
        }
    
        for(i=1;i<(length);i++)
        {
            if(list[i]>max)
            {
                max=list[i];
            }
        }
        return max;
    
    }
    复制代码

    总结:

    单元测试有不少的优点,能够给我们的工作带来很大的帮助。单元测试的优点1.帮助开发人员编写代码,提升质量、减少bug。如果大家分析一下我们bug原因的构成,我想有会有一部分bug的原因是开发人员在编写工作代码的时候没有考虑到某些case或者边际条件。造成这种问题的原因很多,其中很重要的一个原因是我们对工作代码所要完成的功能思考不足,而编写单元测试,特别是先写单元测试再写工作代码就可以帮助开发人员思考编写的代码到底要实现哪些功能。

  • 相关阅读:
    ApiDoc 一键生成注释
    质量报告之我见
    一些 ssh 小技巧
    virtualenv简介以及一个比较折腾的scrapy安装方法
    用scrapy数据抓取实践
    linux rootfs制作
    ubuntu环境下android开发环境安装
    弱符号 与 强符号, 强引用 与 弱引用
    链接器和加载器
    wine的使用
  • 原文地址:https://www.cnblogs.com/lijinji/p/3592398.html
Copyright © 2020-2023  润新知