白盒测试实例之八——构建自己的单元测试框架(上)

发表于:2009-2-25 18:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:胡添发    来源:CSDNBlog

  下面来实现以上三个目标:

  1、为了获取已执行的测试用例数量、通过的数量和失败的数量,以及测试执行的时间,需要定义一些变量来保存这些信息:

  1. int errorCount = 0;

  2. int testCount=0;

  3. time_t startTime, endTime;

  2、为了获取失败的测试用例信息,需要先定义一个变量来保存错误信息,同时,上面的两个断言函数也需要增加一个参数,用来传递当失败的时候要显示的失败信息。为了方便记录错误的信息,可以添加两个处理错误信息的函数:

  1. /*

  2. * 存放测试信息和错误信息的全局变量

  3. */

  4. char *errors[100] = {""};

  5. int errorCount = 0;

  6. int testCount=0;

  7. time_t startTime, endTime;

  8. /*

  9. * 判断是否取值为真

  10. */

  11. void assertTrue(char *msg, bool actual)

  12. {

  13. testCount++;

  14. if(actual)

  15. {

  16. printf(".");

  17. }

  18. else

  19. {

  20. printf("F");

  21. addError(msg);

  22. }

  23. }

  24.

  25. /*

  26. * 判断预期结果和实际结果是否相符

  27. */

  28. void assertEquals(char *msg, int expect, int actual)

  29. {

  30. testCount++;

  31. if(expect == actual)

  32. {

  33. printf(".");

  34. }

  35. else

  36. {

  37. printf("F");

  38. addError(msg, expect, actual);

  39. }

  40. }

  41.

  失败信息的处理函数:

  1. /*

  2. * 添加错误信息

  3. */

  4. void addError(char *msg)

  5. {

  6. char error[100] = "Test '";

  7. strcat(error, msg);

  8. strcat(error, "' is failed!");

  9. errors[errorCount] = new char[100];

  10. strcpy(errors[errorCount], error);

  11. errorCount ++;

  12. }

  13.

  14. /*

  15. * 添加错误信息,带预期结果与实际结果参数

  16. */

  17. void addError(char *msg, int expect, int actual)

  18. {

  19. char error[100] = "Test '";

  20. char num[10];

  21. strcat(error, msg);

  22. strcat(error, "' is failed!");

  23. strcat(error, " Expected: ");

  24. strcat(error, itoa(expect, num, 10));

  25. strcat(error, " , actual: ");

  26. strcat(error, itoa(actual, num, 10));

  27. errors[errorCount] = new char[100];

  28. strcpy(errors[errorCount], error);

  29. errorCount ++;

  30. }

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号