连接测试用例与待测系统
Spec Explorer支持两种连接测试用例和待测系统的方式:直接连接和适配器连接。
直接连接是指将待测系统实现中的方法和事件直接声明成Cord配置中的Action(既可以依次声明也可以使用"action all"提取所有公用方法),这样生成的测试代码会直接调用待测系统的方法,并期待待测系统的事件。这种连接只能被运用于测试托管代码实现的系统,并且要求待测系统提供的API足够进行测试。
测试适配器是则是位于测试用例和待测系统之间的一层。当创建测试适配器时,Cord配置文件中的Action并不是待测系统的方法和事件,而是适配器中的方法与事件;那么生成的测试代码也调用适配器中的方法,期待适配器发起的事件。适配器的作用是把这些方法调用转换为待测系统的方法调用。当待测系统是非托管代码实现,或者测试用例与待测系统需要远程通信,或者存在一个中间层用于抽象模型和测试(比如控制待测系统的用户界面)时,这种连接被广泛运用。适配器由于避免了对托管测试代码的依赖,从而极大的增加了spec Explorer的适用范围。
模型开发者与适配器或者待测系统的实现者基于Action的接口规范打成一致,即可并行工作。接口实现只要在需要运行生成的测试代码时能够执行即可。对于模型开发者来说,他们可以先把Action声明成abstract,即可在没有适配器或者待测系统实现的情况下进行建模。