69,336
社区成员
发帖
与我相关
我的任务
分享
int main(int argc, char **argv)
{
int passed = 0;
int failed = 0;
int i = 0;
BEGIN_TEST
test_replace(),
test_remove()
END_TEST
printf("\n----------- Begin Unit Test ----------\n");
printf("Tests run: %d\n", sizeof(testResults) / sizeof(char*));
for(i = 0; i < sizeof(testResults) / sizeof(char*); ++i)
{
if(testResults[i])
{
printf("TEST %d Error: %s\n", i, testResults[i]);
++passed;
}
else
{
++failed;
printf("TEST %d Passed", i);
}
}
printf("\n------------End Unit Test -------------\n");
printf("Passed: %d 个 \n",passed);
printf("Failed: %d 个 \n",failed);
printf("\n----------------------------------------\n");
return 0;
}
#include <stdio.h>
#define tcut_assert(what, test) do { if (!(test)) return what;} while (0)
static char * test_replace()
{
int number4 = 2;
tcut_assert("error, number4 != 1", number4 == 1);
return 0;
}
static char * test_remove()
{
int number5 = 1;
tcut_assert("error, number5 != 1", number5 == 1);
return 0;
}
//static char * all_tests()
//{
// tcut_run_test(test_replace);
// tcut_run_test(test_remove);
// return 0;
//}
#define BEGIN_TEST char* testResults[] = {
#define END_TEST };
int main(int argc, char **argv)
{
printf("\n----------- Begin Unit Test ----------\n");
BEGIN_TEST
test_replace(),
test_remove()
END_TEST
int passed = 0;
int failed = 0;
printf("Tests run: %d\n", sizeof(testResults) / sizeof(char*));
for(int i = 0; i < sizeof(testResults) / sizeof(char*); ++i)
{
if(testResults[i])
{
printf("TEST %d Error: %s\n", i, testResults[i]);
++passed;
}
else
{
++failed;
printf("TEST %d Passed", i);
}
}
printf("\n------------End Unit Test -------------\n");
printf("Passed: %d 个 \n",passed);
printf("Failed: %d 个 \n",failed);
printf("\n----------------------------------------\n");
return 0;
}
如果要收集更多的信息,比如打印出哪个测试函数出错等,可以 char* 数组改成一个包含更多信息的结构数组,吧 test_replace() 函数调用再包装到宏里面