功能测试框架(C语言)
功能测试框架,用户只需要在ItemList列表中新增需要待测试功能的接口和补充对应的ID号,然后编译测试
/*
*文件名:main.h
*/
typedef int (*func)(void);
typedef struct {
/*函数功能测试项ID号*/
unsigned int item_id;
/*函数指针,指向需要待测试功能函数*/
int (*func)(void);
}ITEM_LIST;
/*
* 文件名:main.c
* Describes:功能测试框架,用户只需要在ItemList列表中新增需要待测试功能的接口和补充对应的ID号
* Author:Robert
* Time:2020-03-02
*/
/*功能函数1*/
int FUNC_1(void)
{
printf("This is func_1\n");
return 0;
}
/*功能函数2*/
int FUNC_2(void)
{
printf("This is func_2\n");;
return 0;
}
/*功能函数3*/
int FUNC_3(void)
{
printf("This is func_3\n");
return 0;
}
/*用户新增 项目ID和需要测试的项目函数名*/
ITEM_LIST ItemList[]={
{1, FUNC_1},
{2, FUNC_2},
{3, FUNC_3},
};
/*执行测试的程序*/
void Run_User_Test_App(int item)
{
ItemList[item-1].func();
}
/*用户根据需要测试的功能输入对应的测试项ID*/
int Get_User_Input(void)
{
int item = 0;
scanf("%d", &item);
return item ;
}
int main(int argc, char *argv[])
{
int item = 0 ;
int item_max = 0 ;
item_max = sizeof(ItemList)/sizeof(ITEM_LIST);
printf("item_max=%d\n", item_max);
while(1)
{
printf("please input id of item<1,%d>:\n", item_max);
item = Get_User_Input();
if( (item<1) || (item>item_max) )
{
printf("Id of item error\n");
continue ;
}
Run_User_Test_App(item);
}
return 0 ;
}