你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

C语言的一套测试框架

[复制链接]
gaosmile 发布时间:2020-9-9 19:14
工作久了,难免有一些知识点容易遗忘,每次遗忘都会去重新写一个测试demo,然后测试出结果后就把这个demo给删掉了,下次又忘了,又要重写去写,这真是一件吃力不讨好的事情,看到身边有朋友写了这么一套测试框架,觉得非常有用。执行程序,输入对应的项目,即可进行测试,如需添加项目,只需在枚举上增加项目后,在Run_User_Test_App的switch语句上添加枚举,最后编写测试函数即可。
+ e3 \( x7 \! f0 ?4 _具体代码实现如下:
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>
- h* k% x  O1 K3 R0 j: P- K 5#include <conio.h>$ a8 l8 ]6 z+ Z6 ?
6
+ U$ T7 Z* N4 P% r# a 7//当前测试项编号枚举
( e! N* A3 n7 C8 Z9 g- b6 ? 8enum TEST_ITEM
9 j4 v0 z5 y1 n0 K 9{
; Z' v2 b3 R) K10    TEST_1 = 1,
& {5 Z" I( @, H# e! I, o. }11    TEST_2,: a) ^- f' @7 q$ \5 V" ~7 a
12    TEST_3,
/ e4 X% D- h; i) f13    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};
  ^6 \. L- w7 P2 L# U173 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) ;
+ [- h" W# X/ z# V$ a' U0 o21void Run_User_Test_App(int KeyCode);( V2 U! p3 S: B
220 G! q5 Y3 [9 u" ]$ ]/ d/ S
23int main(void)
$ G" o3 L1 ?! S24{
) i) `1 B4 n  Q6 K. C25    int KeyCode = 0 ;' Z1 t$ I/ ~; p
26    while(1)
: o- ]; P+ x) r/ q. k; T' t27    {8 ~( A! m, {4 ?$ A' u& K! c7 a
28        printf("请输入测试项:\n");
( w: e! u1 Z6 T' a' b% j8 I( F9 |29        KeyCode = Get_User_input();
- h% N, G5 X4 P/ R! V  i! D30        Run_User_Test_App(KeyCode);
4 n& J. y! F  l& \2 F+ w31    }3 K* Z; i; H: I, |) Q; ?9 I
32    return 0 ;
' j8 @/ g- B1 b1 g& B: B2 I33}
. V& V) k4 I4 `8 ^34
/ m- ^/ o* |- W$ `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
1 G. r2 i9 r  e1 s$ `9 h5 e$ N41void TEST_2_APP(void)
; H0 q# S% J7 X  }- Y0 V42{
+ T' h( l& b. e7 N$ W43    printf("测试项目二\n");
. g( y7 p' }/ Y. b" W1 @+ R# t$ ~7 t44}" K! f& a6 @7 n* {7 @1 Y
457 k' N. K& I2 a+ V5 ]! `+ p9 Q6 _! L
46void TEST_3_APP(void)
  N# C4 M, g$ v& `; t: g47{8 H; j6 p/ h3 m$ x
48    printf("测试项目三\n");
. B- o; v$ S" O! x49}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}
9 B1 I6 c# S' \- B+ e55
: I# v) P2 N. Z4 q56void TEST_5_APP(void)) v1 m% h1 `7 [0 N
57{2 E: s% \: E  x* \  h0 L0 e% o5 |
58    printf("测试项目五\n");  
2 a9 g0 H. P  ~; Q" D5 K3 [4 [59}
+ ]) o9 Z1 n2 I0 r60: |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}
) w  m5 V1 \3 T& N' ]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)
! i7 I: J4 e9 U9 F5 q+ H" G70    {
# }6 |) s6 z9 n  N" a3 S5 m, m71        case TEST_1:: Z! e7 f2 w6 C
72            TEST_1_APP();/ d6 C( W" C: e# F: l: X; k
73            break ;
- S  n% P/ v' A( ^5 w: `74        case TEST_2:
- ?" {( T, ?  u* D# h- Z4 ]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:
0 R; F1 `$ c3 F' e8 i78            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:
* k( a$ e& ^% R81            TEST_4_APP();
% x& ]& Z1 |% L4 R9 Y# _  U7 v( U1 _% K0 u82            break ;; z  i. e# G$ D4 }% `: u, S
83        case TEST_5:
' w% a1 r, M$ V) A* d4 S( u84            TEST_5_APP();
6 u/ `# ?, _8 l85            break ;
0 _( W1 A1 Z5 {86        case TEST_6:
0 i; Q! X- d# @1 A) ?8 A& F87            TEST_6_APP();
. j5 P& D  q# U0 {& A# x0 d8 L88            break ;9 ]0 b4 Y: p/ }' `' s. f
89        default:- g; i3 w2 J* }" P9 b5 s$ Z
90            break ;
* }* V4 J  g* J. Z91    }   2 m' v2 H- _' b3 m
92}/ m& M" n) C  X& x
93
- Q5 d# k$ {$ A% v. E94int 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;
! p2 O9 f9 b6 p97    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
赞 收藏 评论0 发布时间:2020-9-9 19:14

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版