`
- 浏览:
427108 次
- 性别:
- 来自:
广州
-
完整的源代码如下:
1、UnitTest.h
-
-
-
-
-
-
- #include<stdio.h>
- #include<string.h>
- #include<time.h>
- #include<stdlib.h>
-
-
-
-
- extern void sleep(clock_t wait);
-
-
-
- void assertTrue(char *msg, bool actual);
-
-
-
- void assertEquals(char *msg, int expect, int actual);
-
-
-
- void init();
-
-
-
- void end();
2、UnitTest.cpp
-
-
-
-
-
-
- #include "UnitTest.h"
-
-
-
-
- void sleep(clock_t wait)
- {
- clock_t goal;
- goal = wait + clock();
- while( goal > clock() )
- {
- ;
- }
- }
-
-
-
- char *errors[100] = {""};
- int errorCount = 0;
- int testCount=0;
- time_t startTime, endTime;
-
-
-
- void addError(char *msg)
- {
- char error[100] = "Test '";
- strcat(error, msg);
- strcat(error, "' is failed!");
- errors[errorCount] = new char[100];
- strcpy(errors[errorCount], error);
- errorCount ++;
- }
-
-
-
- void addError(char *msg, int expect, int actual)
- {
- char error[100] = "Test '";
- char num[10];
- strcat(error, msg);
- strcat(error, "' is failed!");
- strcat(error, " Expected: ");
- strcat(error, itoa(expect, num, 10));
- strcat(error, " , actual: ");
- strcat(error, itoa(actual, num, 10));
- errors[errorCount] = new char[100];
- strcpy(errors[errorCount], error);
- errorCount ++;
- }
-
-
-
- void assertTrue(char *msg, bool actual)
- {
- sleep(10);
- testCount++;
- if(actual)
- {
- printf(".");
- }
- else
- {
- printf("F");
- addError(msg);
- }
- }
-
-
-
- void assertEquals(char *msg, int expect, int actual)
- {
- sleep(10);
- testCount++;
- if(expect == actual)
- {
- printf(".");
- }
- else
- {
- printf("F");
- addError(msg, expect, actual);
- }
- }
-
-
-
- void testReport()
- {
- printf("\n\nTotal run Tests:");
- printf("%d", testCount);
- printf(", passed:%d", testCount-errorCount);
- printf(", failed:%d\n", errorCount);
- printf("Test escaped time: %6.3f seconds\n", (double)(endTime-startTime)/1000.0);
- if(errorCount>0)
- {
- printf("\n**************** Failed Test's Detail ****************\n\n");
-
- for(int i=0; i<errorCount; i++)
- {
- printf(" %d: ", i+1);
- printf(errors[i]);
- printf("\n");
- }
- printf("\n**************** End of Failed Detail ****************\n\n");
- }
- else
- {
- printf("\n****** All Tests had Passed! ******\n\n");
- }
- }
-
-
-
- void init()
- {
- printf("\n****** Test start ******\n");
- startTime = clock();
- }
-
-
-
- void end()
- {
- endTime = clock();
- testReport();
- }
3、实际测试结果截图:
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
实例白盒 白盒测试实例之九——构建自己的单元测试框架(下) 软件测试 完整的源代码如下: 1、UnitTest.h 1./* 2.*Copyright(c)2008,胡添发 3.* 4.*简单的单元测试框架 5.* 6.*/ 7. 8.#include 9.#...
- 实际项目中的白盒测试应用实例,帮助读者理解如何在实际场景中应用所学知识。 通过这份白盒测试学习文档,无论是初学者还是有经验的测试工程师,都能从中获取到有价值的理论知识和实践经验,提升自己的测试技能...
Junit作为Java领域最常用的单元测试框架,是进行白盒测试的重要工具。本文档将深入探讨Junit4的基础知识和应用技巧,帮助开发者提升测试效率和代码质量。 **一、Junit简介** Junit是由Erich Gamma和Kent Beck共同...
常用的单元测试框架包括JUnit(Java)、pytest(Python)、NUnit(.NET)等,它们提供了丰富的API和测试模板,支持自动化测试、断言检查等功能,帮助开发者快速构建和运行测试用例。 #### 避免单元测试的常见误区 ...
它是用于单元测试框架体系xUnit的一个实例,主要用于白盒测试。 四种Java测试工具简介 -------------------- ### 1. JUnit JUnit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。它是用于单元测试...
单元测试是软件开发过程中的重要环节,用于验证代码的各个独立模块是否按预期工作。测试用例的设计是单元测试的核心,它确保了测试的覆盖率和有效性。本文将深入探讨如何编写测试用例,以及黑盒测试和白盒测试的区别...
### JUnit和单元测试简介 #### 一、基础知识与概念 ...总之,JUnit不仅是一个强大的单元测试框架,而且通过其丰富的特性和良好的社区支持,成为Java开发人员进行测试驱动开发(TDD)的重要工具之一。
JUnit是一种开源的Java测试框架,它属于xUnit家族的一员,主要用于单元测试,特别是白盒测试和回归测试。白盒测试是指测试人员完全了解程序内部的逻辑结构,可以针对性地进行测试;而回归测试是在软件或环境进行修复...
ACTS 是基于数据模型驱动测试引擎的的新一代测试框架,它的数据以 YAML 为载体,在此上构建基于数据模型的驱动引擎,适配 TestNg+SOFABoot 的测试上下文环境;支持高效、标准化构建用例,可视化编辑测试数据,精细化...
东北大学所提供的软件测试课件,为学生和从业者提供了一套全面、系统的教学材料,覆盖了从黑盒测试到白盒测试,再到单元测试和系统测试的全方位知识体系。 黑盒测试,作为一种功能性测试方法,它的核心理念是从用户...
《Junit实例图解:快速掌握单元测试框架》 Junit是Java开发中广泛使用的单元测试框架,它为开发者提供了一种便捷的方式来编写和执行针对单个代码单元的测试。本文将通过实例图解的方式,逐步介绍如何在Eclipse环境...
- **单元测试**:针对单个模块或函数进行测试。 - **集成测试**:验证不同模块之间的接口是否正常工作。 - **回归测试**:确保新版本没有引入新的错误或破坏旧功能。 #### 六、实例应用与练习 书中不仅提供了理论...
它包括单元测试、集成测试、系统测试和验收测试等阶段。 2. **测试类型**: - 单元测试:针对代码模块进行测试,确保每个小部分功能正确。 - 集成测试:多个模块组合后的测试,检查模块间的交互是否正确。 - ...
2. **黑盒测试与白盒测试**: - **黑盒测试**:关注软件功能,不考虑内部结构,主要方法有等价类划分、边界值分析、因果图等。 - **白盒测试**:关注程序结构,依据代码逻辑进行测试,如路径覆盖、条件覆盖等。 3...
2. **测试方法论**:有多种测试方法论,如黑盒测试(关注功能行为,不考虑内部结构)、白盒测试(关注代码逻辑和结构)、灰盒测试(结合黑盒和白盒测试)以及探索性测试(强调测试者自主发现和解决问题)。...
JUnit 是一个广泛使用的Java编程语言的单元测试框架,它的核心目标是帮助开发者对代码进行单元测试,确保每个独立的代码单元都能按预期工作。单元测试通常被视为白盒测试,因为它涉及对代码内部逻辑的深入理解。 ...
- **1.6 34个方法**:介绍了34种测试方法和技术,这些方法和技术可以帮助测试人员更有效地发现缺陷,包括但不限于黑盒测试、白盒测试、压力测试等。 #### 第2章 测试架构从何而来 第二章深入探讨了测试架构的概念...
- **JUnit:** 用于Java应用程序的单元测试框架,能够帮助开发者编写和运行测试用例。 #### 三、理论与技能类 1. **敏捷开发与敏捷测试** - **敏捷理念:** 强调快速响应变化、迭代开发、持续交付高质量的软件...