BDD课题研究-Jbehave原理分析-测试用例上下文管理 - oop.com.cn 测试 用例 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > 测试技术 > 测试用例 > 正文

BDD课题研究-Jbehave原理分析-测试用例上下文管理

来源: www.bianceng.cn 阅读:

  测试用例上下文管理

  相对前两者而言,测试用例上下文管理的逻辑稍微少点,用时序图表示如下:

\

  前3步做了基本的初始化动作,不做说明。

  第4步需要说明,我们使用Jbehave框架的时候,会继承Jbehave提供的Embedder类并且做了重写了candidateSteps()方法,所以第4步这里使用多态机制加载了我们定义的candidateSteps,代码很简单,位于Embedder类的runStoriesAsPaths()方法中,如下:

  List candidateSteps = candidateSteps();

  然后在StoryRunner中调用StepCollector类的collectScenarioSteps()方法,代码如下:

\

  这里完成了接下来的全部工作,最终返回steps给runStepsWhileKeepingState()方法用于运行。

  需要注意的是参数,candidateSteps中加载着我们别写的steps, scenario是*.story文件中的一个用例, scenarioParameters是用例的参数,所以collectScenarioSteps()方法所做的工作就是将scenario和相应的candidateSteps联系起来,并装配好参数。

  我们看collectScenarioSteps()方法片段:

\

  很好理解,两个嵌套的for循环遍历scenario和candidateSteps,最里层则是做比较判断,建立相应的step。

  我们看真正建立step的createMatchedStep()方法,核心片段如下:

\

  返回一个Step类实例,并且Step类的完整定义也可以看的到,我们看到了用于执行step的perform()方法。然后将此Step类实例一直返回到StoryRunner用于执行,执行部分在讲Jbehave执行流程时介绍过,此不赘述。

  至此,Jbehave框架测试用例上下文管理的介绍告一段落。

  VN:F [1.9.10_1130]

Tags:
相关文章列表:
热门排行