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

C语言的一套测试框架

[复制链接]
gaosmile 发布时间:2020-9-9 19:14
工作久了,难免有一些知识点容易遗忘,每次遗忘都会去重新写一个测试demo,然后测试出结果后就把这个demo给删掉了,下次又忘了,又要重写去写,这真是一件吃力不讨好的事情,看到身边有朋友写了这么一套测试框架,觉得非常有用。执行程序,输入对应的项目,即可进行测试,如需添加项目,只需在枚举上增加项目后,在Run_User_Test_App的switch语句上添加枚举,最后编写测试函数即可。
4 x8 }* l+ d7 l具体代码实现如下:
1#include <stdio.h> / i: R% n/ v8 C' Y8 H3 Z( j. e
2#include <stdlib.h>* y8 O* B1 L- [* l
3#include <string.h>+ w$ T) S  [4 a1 D% O+ Y/ F
4#include <unistd.h>% W% f, M3 f$ v
5#include <conio.h>, [( o$ }3 Z6 J
6: e7 f* T% ]" J4 `& E' D
7//当前测试项编号枚举 6 Y8 r7 J) M  p' @% k
8enum TEST_ITEM. l( ?  }0 M. \+ l1 C
9{) a5 t1 u; u! y! [! P, X2 n
10    TEST_1 = 1,; @& s9 e+ z$ d0 @
11    TEST_2,
6 }# L, L7 X4 _5 W% \8 V12    TEST_3,
' U, y1 y4 J0 x8 J& H13    TEST_4,
& {$ D8 Z$ t9 R/ s  f+ v& V14    TEST_5,
" C7 o! P. x/ U( i# R15    TEST_6. C5 l/ q  E% j3 G* c
16};! K& v- Z2 Z4 ^$ r" _/ c
17$ T* X2 Q$ h1 ^5 t$ ~! S6 P" q
18
; j9 j" j& N4 _) t, y19
, f( d3 q0 i7 f; s4 P2 R( F20int  Get_User_input(void) ;" k. i: W! x7 L
21void Run_User_Test_App(int KeyCode);
2 I6 x' S6 x1 B, I( \8 e0 T& V$ d5 W22$ b2 x. h! D3 o9 D2 Y. A
23int main(void)% ~2 G8 y3 K" u
24{
) L( ^4 A: n# c25    int KeyCode = 0 ;6 d: o3 d, }" }
26    while(1): C3 c* s+ }& d3 \$ U
27    {
7 s" J/ d! N6 p1 r6 e+ [28        printf("请输入测试项:\n");
; K8 I4 s. y; j" Q' h* b/ A29        KeyCode = Get_User_input();
% D5 x4 b% {6 ]; N30        Run_User_Test_App(KeyCode); - K( v7 Y9 K2 b
31    }1 u1 ?+ _. D2 }& @) T( P
32    return 0 ;8 \1 w; D2 z' _# I0 M
33}
  P% Q- ]: I+ H3 {# x$ |; B& i34! U0 d* L! p' L  Q# z0 `' D
35
4 t: M# \3 s9 o! X36void TEST_1_APP(void)( X! F. o& l) M
37{
& d' G2 F' y$ h38    printf("测试项目一\n");
( D) u' S5 w4 B39}
8 V/ k* U4 o- _# L/ R& z40
4 f+ N- I% l1 ^41void TEST_2_APP(void)
; L$ l& g) p% ~( p- K9 w1 A  }42{7 d& }1 _1 a% N3 I$ \- ~
43    printf("测试项目二\n");  j+ n4 l- ]1 _1 o
44}4 ?6 {0 i8 p, g* L
450 m) t% h0 S* ^- c( @/ L* l
46void TEST_3_APP(void)
. i( n2 q! V5 a8 R: P47{) i1 I8 K( y7 ~
48    printf("测试项目三\n");
& c0 p& j' F* k% Y% Y6 T' b49}
+ y" S6 w+ F/ S4 O% N$ J+ M  F) E50/ u3 y; D3 _2 J( m' l
51void TEST_4_APP(void)
; J% n6 V  _3 w) R8 L. `3 }52{
: x% e/ r9 _( }4 ]' n) c53    printf("测试项目四\n");  
  h$ C& t" ~/ X" C" \7 Y: h54}6 M% u" T% e$ `/ u$ l1 ]
55
8 ]& l2 F7 R" c6 K$ Y; X56void TEST_5_APP(void)
; l- q( Q* z% r8 S57{
. o0 G$ Q( m3 f, m% o58    printf("测试项目五\n");  , ?- a" g3 H: g6 p- U5 Q, K
59}
4 I! o2 r, F! O8 p60
$ W! s/ a) j  x$ [. i# |: T8 n61void TEST_6_APP(void)
& I  c0 P: ^; M* Y0 s$ \62{
  n, a& a7 z" [+ Z# L8 B5 }63    printf("测试项目六\n");
* p4 t  t- c. a8 f7 z  q. a64}
4 |- j5 Q6 }: {9 L9 q6 @% G, D; q65
0 r2 m5 G9 Z, I. T* i; o66//执行用户测试APP 6 m/ o  A, }0 @/ {6 p
67void Run_User_Test_App(int KeyCode)& Y3 K6 w' c# |) u2 G
68{0 l9 j* }+ U2 e2 @# Q* G' e
69    switch(KeyCode)
' z' W" k0 ^5 z6 m70    {
' s8 O) x8 e2 `  s' A, r71        case TEST_1:
1 A/ a7 l  w1 B+ e72            TEST_1_APP();
# S* G7 K0 I9 b' M9 T+ L73            break ;
  b- R; z1 \* g74        case TEST_2:
' I9 J, C! W' N) V9 B/ f75            TEST_2_APP();
5 r2 a; T/ d6 ?  q( Q- N) }76            break ;8 @- O! N$ o  `9 Q0 M
77        case TEST_3:5 ^! b- y' \& p. ]) V1 M) k
78            TEST_3_APP();
) s8 U. J; n7 ~- {$ S6 Z( Z$ ]4 v79            break ;
. \" L, j8 K: U9 H) K80        case TEST_4:
; {: {! d2 ~4 W81            TEST_4_APP();' \. ~6 C0 M- R  z
82            break ;% R) x2 [8 i+ X: W
83        case TEST_5:# }8 |6 {4 r" c: v% h
84            TEST_5_APP();
0 m4 K4 V; c0 a, D- m3 J85            break ;
6 [- t7 s4 x( Y' s; M6 s" L86        case TEST_6:* d9 h( H3 C3 `- U# [6 P9 O
87            TEST_6_APP();& c9 n) X2 [2 F( a
88            break ;
% l+ o0 s5 K# D$ O& f89        default:1 _* w. @1 \- i
90            break ;
" }& p6 a4 ~/ d. g2 o, V8 p0 U0 p91    }   
5 {' Y. a7 i! f4 D# |  N, C. \92}; z5 e; @* @  U# {* Z
93: g$ x  p9 c+ h6 _0 ]; g- X% u
94int Get_User_input(void)
* g" X: W% A- j# w# A9 n: M  ?- N95{
& q. E6 F7 T  `+ Y7 Y2 ^- z96    int KeyCode = 0;
8 f; a2 ?4 x2 S7 t% T; }, H97    scanf("%d",&KeyCode);
" S, z3 d, @  [& C' r98    return KeyCode ;1 c$ ]7 h0 O7 Q1 q$ s  y  Z: X- }+ _, s( l
99}
  ]5 b$ s3 O( g4 Z# |9 ?
收藏 评论0 发布时间:2020-9-9 19:14

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版