简单单元測试思想

简单单元測试思想

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。


        一个项目又非常多模块组成,当我们每次完毕一个模块的时候,就应该測试该功能是否

可以执行正确。然后再写下一个模块,不要等全部模块写完了再总体測试,这样到时候非常

难找到问题(当然高手除外)。

所以作为一个project师,写測试用例是一个主要的技能。

那怎样写測试用例呢?

事实上就是使用自己的模块,看执行的结果是否跟期望的结果一致。

比方例如以下,写了一个add函数,要測试它,我们写一个test_add函数。

#include <stdio.h>
int add(int a,int b)
{
	return a+b;
}

int test_add(void)
{
	int ret = 0;
	ret = add(1,1);
	if(ret != 2)
	{
		return 1;
	}
	ret = add(2,2);
	if(ret != 4 )
	{
		return 2;
	}
	ret = add(3,3);
	if(ret != 6 )
	{
		return 3;
	}
	return 0;
}
int main()
{
	int ret = 0;
	ret = test_add();
	if(ret != 0)
	{
		//这里依据返回值来确定究竟是哪条測试出错。
		printf("test failed,ret = %d\n",ret);
	}
	else
	{
		printf("test ok!");
	}
}

当然也能够用一些开源的測试代码,下面是两个简单的语言单元測试框架。

比方 cutest ,简单的c单元測试  见链接 http://pan.baidu.com/s/1hqeg7qO

CUnit:  以静态库的形式提供给用户使用,用户编敲代码的时候直接链接此静态库就能够了。它提供了一个简单的单元測试框架,而且为经常使用的数据类型提供了丰富的断言语句支持。见链接 http://pan.baidu.com/s/1gd9WCgV

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118601.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Idea 全局搜索(idea如何全局搜索关键字)

    在使用Eclipse的时候用到了全局查找功能Ctrl+H,还是非常好用的, 在IDEA中同样有全局搜索功能,我用的是Eclipse版本的快捷键,是Ctrl+H。    特此查找记录,分享。…

    2022年4月18日
  • Java中double转BigDecimal的注意事项

    Java中double转BigDecimal的注意事项先上结论:不要直接用double变量作为构造BigDecimal的参数。 线上有这么一段Java代码逻辑:1,接口传来一个JSON串,里面有个数字:57.3。2,解析JSON并把这个数字保存在一个float变量。3,把这个float变量赋值给一个BigDecimal对象,用的是BigDecimal的double参数的构造:  newBigDecimal(double…

    2022年5月2日
  • SIFT matlab源代码解析[通俗易懂]

    SIFT matlab源代码解析[通俗易懂]SIFTmatlab源代码解析sift是目前常用的localfeature的描述子。sift特征匹配算法可以处理两幅图像之间发生一些平移、旋转、仿射等匹配问题。因为早前自己要做一个图像拼接的问题,所以用到了sift。写这篇blog,是因为自己准备向CV进军,开始着手写blog来积累知识,这也是我第一篇blog,虽然这篇blog很简陋,纯属向sift致敬,但也方便一些初学者使用吧。以后也会不定期对

    2022年6月16日
  • ideal 2022 激活码【2022免费激活】2022.03.01「建议收藏」

    (ideal 2022 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
  • springboot框架流程图_java流程框架

    springboot框架流程图_java流程框架这篇介绍springboot的框架流程控制(Controller)层,负责具体的业务模块流程的控制,也就是去拦截客户发来的请求。然后服务(Service)层,负责业务模块的逻辑应用设计,调用DAO层已定义的接口,去实现Service具体的实现类,也就是去和数据库(DAO)层打交道。Dao(serviceImpl)层负责与数据库进行交互设计,用来处理数据的持久化工作,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。最后一层View层,负责前台h

    2022年8月21日
  • Kafka教程_图解kafka

    Kafka教程_图解kafkakafka详细教程,Kafka面试题。kafka最初是由Linkedin公司基于Scala和Java语言开发的分布式消息发布-订阅系统,现已捐献给Apache软件基金会。Kafka最被广为人知的是作为一个消息队列系统存在,而事实上kafka已然成为一个流行的分布式流处理平台。其具有高吞吐、低延迟的特性,许多大数据处理系统比如storm、spark、flink等都能很好地与之集成。本文详细介绍了Kafka的实战知识。

    2022年10月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号