• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • BDD課題研究-Jbehave原理分析-測試用例上下文管理

    發表于:2012-05-03來源:Taobao QA Team作者:wuhuanzheng點擊數: 標簽:測試用例
    測試用例上下文管理 相對前兩者而言,測試用例上下文管理的邏輯稍微少點,用時序圖表示如下:

      測試用例上下文管理

      相對前兩者而言,測試用例上下文管理的邏輯稍微少點,用時序圖表示如下:

      前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]

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>