3

有人可以告诉我:测试方法失败时如何截屏(jUnit 5)。我有一个带有BeforeEachAfterEach方法的基本测试类。任何其他具有 @Test 方法的类都扩展了基类。

4

2 回答 2

1

好吧,可以编写截取屏幕截图的 java 代码,例如,请参见此处。

但我非常想知道您试图以这种方式解决的真正问题。我不确定您是否想到了这一点,但 JUnit 的主要目的是为您提供一个在各种环境中运行测试的框架。

当然,您可以在您的 IDE 中运行 JUnit,这很好,也许您会发现获取屏幕截图很有帮助。但是:“通常”单元测试也在夜间构建等期间运行 - 在“截屏”可能没有任何意义的环境中!

除此之外:屏幕短片是一种极其无效的信息收集方式!当您失败时,您应该锁定文本日志文件、html/xml 报告等。您希望失败的测试生成易于消化的信息。

所以,这里真正的答案是:从你现在正在做的事情中退后一步,重新考虑你真正想要解决的问题的非屏幕截图解决方案!

于 2016-11-07T10:16:40.650 回答
1

您不需要为 JUnit 测试失败/通过截屏,推荐的方法是使用以下工具/插件自动生成各种报告(测试通过/失败报告、代码覆盖率报告、代码复杂性报告等) .

您可以使用Cobertura maven 插件Sonarqube 代码质量工具,以便它们自动为您生成报告。

您可以在此处查看Cobertura-maven-plugin此处查看Sonarqube以了解更多详细信息。

您需要将这些工具与您的 CI(持续集成)环境集成,并确保如果代码没有通过某些质量(在测试覆盖率、代码复杂性等方面),那么项目构建 (war/ear) 应该会失败自动地。

于 2016-11-07T10:56:01.873 回答