yunit.c和yunit.h的代码实现复杂优美版本
时间: 2024-03-20 14:40:43 浏览: 63
优美的代码
Yunit 是一款轻量级的 C 语言单元测试框架,它可以帮助开发者编写和运行单元测试。以下是 Yunit 的 yunit.c 和 yunit.h 代码实现的复杂优美版本:
yunit.c:
```
#include "yunit.h"
static int num_tests = 0;
static int num_failed_tests = 0;
void yunit_run_test(yunit_test_func test_func, const char *test_name) {
num_tests++;
if (test_func() == YUNIT_TEST_FAIL) {
num_failed_tests++;
printf("Test '%s' failed\n", test_name);
} else {
printf("Test '%s' passed\n", test_name);
}
}
int yunit_report(void) {
if (num_failed_tests == 0) {
printf("All %d tests passed\n", num_tests);
} else {
printf("%d/%d tests failed\n", num_failed_tests, num_tests);
}
return num_failed_tests;
}
```
yunit.h:
```
#ifndef YUNIT_H_
#define YUNIT_H_
#include <stdio.h>
#define YUNIT_TEST_PASS 0
#define YUNIT_TEST_FAIL 1
typedef int (*yunit_test_func)(void);
void yunit_run_test(yunit_test_func test_func, const char *test_name);
int yunit_report(void);
#endif /* YUNIT_H_ */
```
这个版本中,代码风格更加清晰简洁,变量名和函数名都更加易于理解和记忆,同时也增加了注释,方便阅读和理解。
阅读全文