Cucumber JVM - 尝试使用@AfterClass通过电子邮件发送时尚未生成报告

时间:2016-10-26 15:31:48

标签: java maven junit cucumber-jvm

我正在尝试收集我的测试生成的所有文件(日志文件,屏幕截图,黄瓜报告等)并通过电子邮件发送。我是使用JUnit的@AfterClass注释从Runner类中完成的。

@RunWith(Cucumber.class)
@CucumberOptions(
    features = "src/test/resources/Features"
    , glue = { "stepDefinition" }
    , tags = { "@Teeest" }
    , monochrome = true
    , strict = false
    , plugin = { /* "pretty", */ "html:target/cucumber-html-report","json:target/cucumber-html-report/cucumber-json-" + "report.json" })

public class TestRunner {

    @AfterClass
    public static void sendReport() {
        SomeClass.sendMail();
    }
}
除了黄瓜报告(包括html和json)之外,一切都很好。当我手动检查它时,它看起来很好,所以我假设它在执行此方法后的某个时间生成。

有没有人知道如何解决这个问题?

我想要为Jenkins获取Cucumber Reports插件,编写一个shell脚本以通过Maven POM执行,或者单独的Java应用程序查找文件,压缩并发送电子邮件。

所有这3个想法都有缺点,所以我真的很喜欢另一种钩式方法,如果可能的话,因为文件位置具有动态名称,并且在测试中获得实际位置会更容易套房比后来寻找它们。

谢谢!

PS:我很喜欢这些东西,所以请不要耽搁细节:)

0 个答案:

没有答案