首页 > 其他分享 >测试用例框架——C语言

测试用例框架——C语言

时间:2022-10-01 20:46:23浏览次数:50  
标签:__ 框架 int ret C语言 char ++ 测试用例 printf

测试用例框架——C语言

目录

1 宏定义

static int TestNum = 0;
static int PassNum = 0;
static int FaildNum = 0;

2 初始化函数

void InitNum(void) {
	TestNum = 0;
	PassNum = 0;
	FaildNum = 0;
}

3 测试的结果函数

void TestResult(void) {
	printf("Print test result;\n");
	printf("TestNum = %d, PassNum = %d, FaildNum = %d\n", TestNum, PassNum, FaildNum);
}

4 状态测试函数

OP_STATUS StatusTest(OP_STATUS Status1, OP_STATUS Status2) {
	TestNum++;

	printf("StatusTest:\n");
	if (Status1 == Status2) {
		printf("Test succeed!\n");
		PassNum++;
		return SUCCESS;
	} else {
		printf("%s test faild!\n", __func__);
		FaildNum++;
		return ERROR;
	}
} 

5 字符串的比较函数

int StrCopmare(const char *Str1, const char *Str2) {
	char *TraStr1 = Str1;
	char *TraStr2 = Str2;
	int ret;
	int Str1Len = StringLen(Str1);
	int Str2Len = StringLen(Str2);

	printf("StrCopmare start\n");

	printf("Str1 = %s\n", Str1);
	printf("Str2 = %s\n", Str2);

	while (*TraStr1 != '\0' || *TraStr2 != '\0') {
		if (*TraStr1 == *TraStr2) {
			TraStr1++;
			TraStr2++;
		} else {
			break;
		}
	}

	if (*TraStr1 == '\0' && *TraStr2 == '\0' && Str1Len == Str2Len) {
		ret = 0;
		goto EXIT;
	}	

	if (*TraStr1 == '\0' && Str1Len < Str2Len) {
		ret = -1;
		goto EXIT;
	}

	if (*TraStr1 != '\0' && *TraStr2 != '\0' && *TraStr1 < *TraStr2) {
		ret = -1;
		goto EXIT;
	}

	ret = 1;

EXIT:
	printf("ret = %d\n", ret);
	printf("StrCopmare end\n");
	return ret;
}
void StringCompareTest(const char *TestStr1, const char *NewStrRep) {
	int Res;
	char *TraTestStr1 = TestStr1;
	char *TraNewStrRep = NewStrRep;

	Res = StrCopmare(TraTestStr1, TraNewStrRep);
	
	if (Res == 0) {
		printf("%s test succeed!\n", __func__);
		PassNum++;
		return SUCCESS;
	}
	else {
		printf("%s test faild!\n", __func__);
		FaildNum++;
		return ERROR;
	}
}

6 值比较函数

void ValueTest(const unsigned int Value01, const unsigned int Value02) {
	if (Value01 == Value02) {
		printf("%s test succeed!\n", __func__);
		PassNum++;
		return SUCCESS;
	}
	else {
		printf("%s test faild!\n", __func__);
		FaildNum++;
		return ERROR;
	}
}

标签:__,框架,int,ret,C语言,char,++,测试用例,printf
From: https://www.cnblogs.com/meditatorss/p/16747723.html

相关文章

  • 这次是大学生辣(C语言版)
    【题目描述】某日,国家安全局获得一份珍贵的材料,上面记载了一个即将进行的恐怖活动的信息。不过,国家安全局没法获知具体的时间,因为材料上的时间使用的是LINUX的时间戳,即是......
  • 【C语言练习_4】输入字符串,将所有字母转换成大写字母输出,如果不是字母,结束进程
    1.题目输入字符串,将所有字母转换成大写字母输出,如果不是字母,结束进程2.代码#include<stdio.h>#include<string.h>inttest(char*input,char*output){inti=0,z=0,l=0......
  • 【C语言初级】使用函数求闰年
    想求闰年,首先得了解闰年的规则:普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如19......
  • 【C语言】给定两个数,求这两个数的最大公约数
    ​​intmain()​​​​{​​​​​intnum1=0;​​​​ intnum2=0;​​​​ inta=0;​​​​ scanf("%d%d",&num1,&num2);​​​​ while(a=num1%num2......
  • 【mybatis框架学习】三、invoke方法逻辑编排
    上一篇一直有提高一个词,编排。都说编程,编程,编排也就容易理解了。 像我们常用的框架,spring、mybatis,都是将一些固有的流程,简化,抽象,编排起来,在留有可拓展的接口之后,全部......
  • python框架中自定义封装logging,一文解决
     为什么需要Logger刚开始写代码可能使用print打印输出就够用了,但是print重定向输出内容非常麻烦,而且无法区分打印日志等级。而logging可以设置打印等级,也可以重定向输......
  • Java 集合框架之Collection,一文解决
     JDK提供了一些特殊的类,这些类可以存储任意类型的对象,并且长度可变,在Java中这些被称为集合。按照存储结构可以分为两大类,单列集合Collection和双列集合常用集合类如下......
  • C语言中的循环语句要点
    C语言中循环语句主要有三种:while;for;dowhile。1.while循环​​//while语法结构​​​​while(表达式)​​​​{​​​​循环语句;​​​​}​​1.1while语句中的break......
  • 【mybatis框架学习】一、序言
    相关内容需要基本的mybatis框架使用经验,不会过多赘述基本常识性的内容。关于mybatis的使用,概括来讲就是:配置jdbc连接信息、配置sql语句、定义mapper接口、定......
  • 框架切换、获取当前焦点、
    目录框架切换获取当前焦点框架切换框架切入有以下三种方式driver.switch_to.frame('frame_name')driver.switch_to.frame(1)driver.switch_to.frame(driver.find_el......