2

我正在使用 JUnitCore 运行 Junit 测试。我正在尝试使用 allure 框架进行报告。文档建议使用JUnitCore.addListener(). 但是,无论我如何尝试这样做,魅力报告都是空的。它们显示了运行的测试,也失败了断言,但没有@step,@attachment.

我尝试使用 JunitCore 而不是 maven 插件搜索使用 allure 报告的示例,但找不到任何东西(使用 maven 运行测试工作正常,并且 allure 报告一切正常)。

怎么做?

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..";
    }
4

1 回答 1

3

确保使用指向aspectjweaver.jar的-javaagent参数启动测试,例如:

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

如果您使用的是 Maven Surefire 插件,请查看以下示例以了解如何执行此操作。

于 2015-07-20T09:16:11.790 回答