2015-06-22 38 views
1

到目前爲止,除了Junit和Jenkins之外,我使用log4j來創建測試用例的文本報告結果,但現在我想使用Allure來從我的硒測試中生成更清晰,更透明的報告。 我正在使用maven項目,其中單個測試用例是一個java類,並且包含它們每個都是java類的步驟。它看起來像這樣:如何組織使用Allure的junit測試套件

public class FirstTestCase() { 
    new Step1(driver).run(); 
    new Step2(driver).run(); 
    new Step3(driver).run(); 
} 

public class SecondTestCase() { 
    … second test case steps ... 
} 

在每一步 - 「運行」 - 包含硒代碼。

個別測試用例被分組爲更大的集合。例如:

@RunWith(Suite.class) 
@Suite.SuiteClasses({ 
    FirstTestCase.class, 
    SecondTestCase.class 
}) 
public class SetOfTests {} 

最後,我有一個主要的類(它被稱爲「TestRunner」),其中相應的組被激活。它看起來像這樣:

public class TestRunner { 
    @Test 
    public void main() { 
     Result result = JUnitCore.runClasses(
     SetOfTests.class 
    ); 

所以,在我的項目類層次結構是這樣的:

TestRunner |- 
    SetOfTests |- 
     FirstTestCase |- 
         |- Step 1 
         |- Step 2 
         |- .... 
     SecondTestCase |- 
         |- Step 1 
         |-Step 2 
         |- .... 

現在,我的問題是: 怎麼會是最好的辦法,以增加傾城註釋(如@Stories @特點,@Steps ...)是 後,詹金斯「建」,當將生成的報告,結果將在形式上表現爲一個層次上面

需要注意的是,詹金斯配置,做工也產生一個報告,但不是這樣的一個我想要的形式。

這正是我需要簡單的方法來知道在哪個測試和步驟發生錯誤

回答

0

如果你看看Allure XSD file你會看到,當前版本(1.4.x系列),我們支持以下結構:

TestSuite| 
     TestCase| 
        Step| 
         Substep| 
          ... 

因此,測試套件可以包含一組測試用例(不支持嵌套測試用例),並且每個測試用例可以包含具有無限深度的步驟層次結構。我將爲您的情況實現一個自定義JUnit適配器 - 這與創建一個Java類(如實現JUnit RunListener接口的following)一樣簡單。

+0

感謝您的回覆。我會在不久的將來看這個 – martest