首先定义一个Clock接口。并为Clock实现两个具体类,一个是NtpClockWrapper,顾名思义其实就是实现了Clock的NtpClock,另一个是SystemClock,它就提供系统当前时间作为标准时间。
package shannon.demo;
/**
* <code>Clock</code> is an interface for all the clock to provide time.
* @author Shannon Qian
*/
public interface Clock {
/**Returns the time in millusecond.
* @return - the time in millusecond
*/
public long getTime();
}
同时,我们定义一个UnitTestFirewall类,维护一个debugging标记。并提供一个getClock()类工厂方法,返回Clock对象。
package shannon.demo;
import thirdparty.any.NtpClock;
/**
* <code>UnitTestFirewall</code> is the facility to
* ease unit test
* @author Shannon Qian
*/
public final class UnitTestFirewall {
private static boolean debugging=false;
/**Returns true if it's in debugging mode, else false.
* @return the debugging
*/
public static boolean isDebugging() {
return debugging;
}
/**Sets Debugging flag as true if it's time to unit test.
* @param on - the debugging to set, true for on and false
* for off
*/
public static void setDebugging(boolean on) {
UnitTestFirewall.debugging = on;
}
private final static NtpClock _ntpClock=new NtpClock();
private static class NtpClockWrapper implements Clock {
public long getTime() {
return _ntpClock.getTime();
}
}
private static class SystemClock implements Clock {
public long getTime() {
return System.currentTimeMillis();
}
}
private static SystemClock sysClock = null;
private static NtpClockWrapper ntpClock = null;
/**Returns the Clock instance for <code>SystemTimeSynchronizer
* </code>'s invocation.
* @return - Clock instance
*/
public static Clock getClock() {
if(debugging) {
if(sysClock == null)
sysClock = new SystemClock();
return sysClock;
}
else {
if(ntpClock == null)
ntpClock = new NtpClockWrapper();
return ntpClock;
}
}
}
(未完待续)
分享到:
相关推荐
在V模型开发中,Tessy主要应用在单元测试和集成测试阶段。单元测试通过运行代码检测出函数中错误,比如算法错误、接口问题等;集成测试则在单元测试的基础上验证单元之间接口的正确性。基于越早发现bug开发成本越低...
测试桩HTTP测试桩HTTP 测试桩HTTP 测试桩HTTP
go语言测试桩,用于模拟接口测试,也可做性能测试桩,哈哈
第2章 第一个单元测试 21 第ii部分 核 心 技 术 第3章 使用桩对象解除依赖 49 第4章 用模拟对象做交互测试 83 第5章 隔离(模拟对象)框架 101 第iii部分 测试的代码 第6章 测试层次及组织 147 第7章 优秀单元...
接口测试 桩 MOCK 接口返回文件配置json文件即可
新利用驱动程序和桩程序进行单元测试
设置完成输入变量和桩函数之后,就可以开始执行测试用例了,有两种执行测试用例的方式:生成驱动文件--编译驱动文件--执行驱动文件 7、查看覆盖率信息 每成功执行一个测试用例后,Testbed/Trbun都会统计当前测试用例...
Counter单元测试用例以及桩设计的简单描述
用java写的socket服务器测试桩,运行在window电脑上
SMGP 测试桩(测试专用)用来接收消息,并且可以实时跟踪
表格驱动,无须编写测试驱动和桩代码;支持快速完成航空标准(MC/DC);程序行为可视,支持快速编写复杂代码,提升开发效率。此版本安装后可测试自带的示例,用以学习单元测试技术;申请免费试用license后,可测试...
一般使用python做接口自动化,ui自动化测试,而单元测试的资料很少,本文主要介绍python单元测试框架,教你如何搭建,执行,分析。
C++Test是一个C/C++单元测试工具,自动测试任何C/C++类、函数或部件,而不需要您编写一个测试用例、测试驱动程序或桩调用。C++Test能够自动测试代码构造(白盒测试)、测试代码的功能性(黑盒测试)和维护代码的完整...
智能测试桩的结构说明以及安装和维护的注意事项.doc
阴极保护测试桩安装与测量方法技术.doc
单元测试的方法和工具使用, 5.1 什么是单元测试 5.2 单元测试的目标和任务 5.3 静态测试 5.4 驱动程序和桩程序 5.5 调试与评估 5.6 单元测试的管理 5.7 单元测试工具
充电桩和BMS通信报文解析软件,可用,可自己添加功能
包含了测试的完整框架,有测试文件,驱动文件,桩函数文件,Makefile,与测试源代码。对于初次接触单元测试的人来说可以说是一个简单易懂的学习例子。
2、单元测试主要的测试技术不包括( )。A、 白盒测试 B、 功能测试C、 静态测试 D、 以上都不是 3、( )的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。 A、 系统测试 B、...
stub测试桩函数库