
工作久了,难免有一些知识点容易遗忘,每次遗忘都会去重新写一个测试demo,然后测试出结果后就把这个demo给删掉了,下次又忘了,又要重写去写,这真是一件吃力不讨好的事情,看到身边有朋友写了这么一套测试框架,觉得非常有用。执行程序,输入对应的项目,即可进行测试,如需添加项目,只需在枚举上增加项目后,在Run_User_Test_App的switch语句上添加枚举,最后编写测试函数即可。( J+ c/ x3 N6 G/ A' X+ p' Q 1#include <stdio.h> 3 l# m& h {4 e: q% E! Q具体代码实现如下: 2#include <stdlib.h> 3#include <string.h>: X7 q! G4 h3 [) a6 B 4#include <unistd.h>: \$ `. r8 w4 C/ Z2 [0 a( V4 B 5#include <conio.h>4 i3 p6 ^/ ^+ S( I% _ Y 6. H/ l% B1 K; V+ _; Z8 c 7//当前测试项编号枚举 8enum TEST_ITEM 9{ 10 TEST_1 = 1,; n% k% |8 [ B% }$ T: h# R 11 TEST_2,4 z0 \. T Q6 H$ J/ `( y1 Y 12 TEST_3,. ^7 Y2 [4 R' K- e0 | 13 TEST_4, 14 TEST_5, 15 TEST_64 ?! j* j5 R# ^1 j, L 16}; 17* j* x1 `6 C# ?, L9 y$ l" E 18 19 20int Get_User_input(void) ; 21void Run_User_Test_App(int KeyCode); F& Y9 p& o# h6 a; u 22 23int main(void) 24{ 25 int KeyCode = 0 ;" O/ G8 m3 Z1 r 26 while(1) 27 {( Y1 a/ [+ o6 C! \/ R8 d 28 printf("请输入测试项:\n");+ D i! N" A; z 29 KeyCode = Get_User_input(); 30 Run_User_Test_App(KeyCode); 31 } 32 return 0 ; 33}0 g8 a& b. c! o9 f/ { 34 35 36void TEST_1_APP(void) 37{5 w: q- s, S( @- F3 M 38 printf("测试项目一\n"); 39}8 P5 M) C5 i% M3 s6 L! m6 S 40 41void TEST_2_APP(void)& j' ]7 `& \: d# w. o: m 42{4 X$ q! d. H) ]& } 43 printf("测试项目二\n"); 44}4 {3 R! @3 r9 V0 ^, e; }" y 45 46void TEST_3_APP(void)) l( \; b1 i: N* _% E7 V9 h8 [ 47{ 48 printf("测试项目三\n");6 W# S' S( F" c7 | 49} 50 51void TEST_4_APP(void) 52{ 53 printf("测试项目四\n"); 54} 557 D' p/ F& W5 s9 L+ | 56void TEST_5_APP(void) 57{. f5 r4 F: `" c( p1 k 58 printf("测试项目五\n"); 59} 60 61void TEST_6_APP(void) 62{ 63 printf("测试项目六\n");* G& u' u. i8 Q+ s& B 64} 65 m1 C% S* X/ Z; [1 a$ M: Z 66//执行用户测试APP 67void Run_User_Test_App(int KeyCode)" B: \ f+ [; u# F 68{ 69 switch(KeyCode)2 Y& M, c) J1 n# {) s 70 { 71 case TEST_1: 72 TEST_1_APP(); 73 break ;5 H: v% ?7 K" O2 ~; p( z 74 case TEST_2: 75 TEST_2_APP(); 76 break ;% b. I1 U" N' v* |9 A 77 case TEST_3:$ Q8 D/ g/ A' o7 D) g9 I 78 TEST_3_APP(); 79 break ; 80 case TEST_4: 81 TEST_4_APP();' n1 u, S( z& b$ N 82 break ; 83 case TEST_5:% h7 q2 @4 V& ?+ b! L. H 84 TEST_5_APP();& P' o; v7 S' q% q* I4 ] 85 break ; 86 case TEST_6:7 S0 t. ~- o4 f* h5 v! M5 _* M 87 TEST_6_APP(); 88 break ; 89 default: 90 break ; 91 } 92} 93 94int Get_User_input(void) 0 v7 O( H+ P, |' `' N 95{( A" l+ Y2 H9 V% s$ O# D- g" O 96 int KeyCode = 0; 97 scanf("%d",&KeyCode);* ]2 x3 d$ n6 A* N 98 return KeyCode ; 99}$ p: H# f) r5 l% T+ K: x |