2015-07-19 31 views
2

我正在使用JUnitCore運行Junit測試。 我正在嘗試使用魅力框架進行報告。 該文檔建議使用JUnitCore.addListener()添加AllureRunListener。 但是,無論我如何嘗試這樣做,魅力報告都是空的。 他們顯示運行的測試,也失敗斷言,但沒有@step,@attachment使用JunitCore時,Allure框架未生成詳細報告

我試圖尋找使用JunitCore而不是Maven插件的誘惑報告的例子,但找不到任何東西(運行測試使用maven工作正常,誘惑報告一切正常)。

它是如何做到的?

的JunitCore乳寧 -

public static void main(String[] args) { 
     AllureRunListener allureListener =new AllureRunListener(); 

     JUnitCore core = new JUnitCore(); 
     core.addListener(allureListener); 
     Result result = core.run(BuildNetworkTest.class); 
     //Result result = core.runClasses(TestSuite.class); 

     for (Failure failure : result.getFailures()) { 
      System.out.println(failure.toString()); 
     } 
     System.out.println(result.wasSuccessful()); 
    } 

測試 -

@Test 
    public void BuildNetwork(){ 
     try { 
      Build buildFactory = new Build(); 
      System.out.println("running the BuildNetwork test in TestRunnerPac.BuildNetwork"); 
      StepTemp(); 
      attachmentTemp(); 
     }catch (Exception e) 
     { 
      System.out.println(e.getMessage()); 
      e.printStackTrace(); 
     } 
    } 

    @Step 
    public void StepTemp(){ 
     assertThat("stepTemp").isEqualTo("stepTemp"); 
     System.out.println("In stepTemp.."); 
    } 
    @Attachment 
    public String attachmentTemp(){ 
     return "this is an attachmentTemp , hope it will work.."; 
    } 

回答

3

一定要與-javaagent參數指向aspectjweaver.jar,如啓動您的測試:

java -javaagent:"/path/to/aspectjweaver.jar" <the rest of the arguments> 

如果你使用的是Maven Surefire插件,那麼請看下面的example關於如何做到這一點。

+0

這修正了它。謝謝。 – user3106313

+0

如果是這樣,請將此標記爲正確答案。 –