|
工作久了,难免有一些知识点容易遗忘,每次遗忘都会去重新写一个测试demo,然后测试出结果后就把这个demo给删掉了,下次又忘了,又要重写去写,这真是一件吃力不讨好的事情,看到身边有朋友写了这么一套测试框架,觉得非常有用。执行程序,输入对应的项目,即可进行测试,如需添加项目,只需在枚举上增加项目后,在Run_User_Test_App的switch语句上添加枚举,最后编写测试函数即可。 1#include <stdio.h> + z) w) t, m( Y7 H) j. Y9 T9 K1 ^具体代码实现如下: 2#include <stdlib.h>3 @4 n1 |0 X7 V# m% `2 C, p% D 3#include <string.h> f i* m# m W: r( C 4#include <unistd.h> 5#include <conio.h>$ a8 l8 ]6 z+ Z6 ? 6 7//当前测试项编号枚举 8enum TEST_ITEM 9{ 10 TEST_1 = 1, 11 TEST_2,: a) ^- f' @7 q$ \5 V" ~7 a 12 TEST_3, 13 TEST_4,. H, A2 g0 L) ~2 ^6 \& V 14 TEST_5,( ?8 z: T* U9 J5 D0 s; \) M+ S 15 TEST_6% i* \: A" q$ I# d: B. z9 h/ i 16}; 173 C; t9 a% Y8 `( ?) H& b 18$ e) h i, Z' a% f5 e 19; Z) S: `2 f0 I6 O) d- \5 G; n7 e. m3 ? 20int Get_User_input(void) ; 21void Run_User_Test_App(int KeyCode);( V2 U! p3 S: B 220 G! q5 Y3 [9 u" ]$ ]/ d/ S 23int main(void) 24{ 25 int KeyCode = 0 ;' Z1 t$ I/ ~; p 26 while(1) 27 {8 ~( A! m, {4 ?$ A' u& K! c7 a 28 printf("请输入测试项:\n"); 29 KeyCode = Get_User_input(); 30 Run_User_Test_App(KeyCode); 31 }3 K* Z; i; H: I, |) Q; ?9 I 32 return 0 ; 33} 34 35) f. l( ]5 j; g 36void TEST_1_APP(void), G" R7 F$ B/ \& ? 37{8 W' ^+ w2 a; _( C# _: A, K 38 printf("测试项目一\n");5 s7 Z3 ^ y' g) }" G3 @. ~ 39}% b5 u A6 y; D6 P3 ~5 O' K 40 41void TEST_2_APP(void) 42{ 43 printf("测试项目二\n"); 44}" K! f& a6 @7 n* {7 @1 Y 457 k' N. K& I2 a+ V5 ]! `+ p9 Q6 _! L 46void TEST_3_APP(void) 47{8 H; j6 p/ h3 m$ x 48 printf("测试项目三\n"); 49}1 `5 ~& ~' A; C: P7 w' n. v 50! N1 J' O/ }9 k 51void TEST_4_APP(void)+ `+ ^0 M7 b! V: P9 ?/ ^ 52{/ k( j8 z: h4 V9 U 53 printf("测试项目四\n"); * R# X. |0 k u# h1 K9 z: |- } 54} 55 56void TEST_5_APP(void)) v1 m% h1 `7 [0 N 57{2 E: s% \: E x* \ h0 L0 e% o5 | 58 printf("测试项目五\n"); 59} 60: |0 ?: l1 L; z/ J/ S# N: C 61void TEST_6_APP(void), M8 b7 v3 o+ \6 t+ \, A6 A; d7 ~ 62{# x( X3 Q# z! r 63 printf("测试项目六\n");( S; M _3 X [) f/ E/ g% Q' N 64} 65+ Y5 V: P J' _8 f x 66//执行用户测试APP 1 Z/ x0 ]% i" t9 ~ 67void Run_User_Test_App(int KeyCode)0 V$ b; w: W, G4 \+ X& m/ D 68{1 k' Y; q2 q$ M2 ? 69 switch(KeyCode) 70 { 71 case TEST_1:: Z! e7 f2 w6 C 72 TEST_1_APP();/ d6 C( W" C: e# F: l: X; k 73 break ; 74 case TEST_2: 75 TEST_2_APP();- z& T7 d( j" g) r: }- \0 V& R; G2 y) T 76 break ;* X" A: o8 C- n6 R0 [ 77 case TEST_3: 78 TEST_3_APP();+ t W# B, E2 {' P* O9 g 79 break ;: m+ j' P/ y# M3 I1 V6 V# O) P/ | 80 case TEST_4: 81 TEST_4_APP(); 82 break ;; z i. e# G$ D4 }% `: u, S 83 case TEST_5: 84 TEST_5_APP(); 85 break ; 86 case TEST_6: 87 TEST_6_APP(); 88 break ;9 ]0 b4 Y: p/ }' `' s. f 89 default:- g; i3 w2 J* }" P9 b5 s$ Z 90 break ; 91 } 2 m' v2 H- _' b3 m 92}/ m& M" n) C X& x 93 94int Get_User_input(void) # m8 B" v8 }* n8 P4 D6 b* k 95{3 j: n) V( U$ M" o: ~1 [ 96 int KeyCode = 0; 97 scanf("%d",&KeyCode);6 J- B3 x5 _/ T7 F& c 98 return KeyCode ;' Y- A5 x& W$ q- i1 j 99}) j, l! E; b( h( {" m j6 F2 P |
微信公众号
手机版