java - 在 @After 之前运行 TestWatcher

标签 java selenium junit

我想在测试失败时截屏,但是,事后,运行@After 方法。

有可能吗?使用 TestWatcher,方法 failed() 在 @After 之后运行。

此外,我无法将 @After 内容传递给 TestWatcher finished(),因为我有一个 super.afterTest() 可以调用 @After。

有什么想法吗?

最佳答案

不可能TestWacher方法 finished()failed()@after 之前运行方法鉴于TestWatcherRules 的基类.

由于规则的设置方式,您不能在 @before 之后设置规则或之前 @after .您可以将规则想象成放在测试方法上的 shell。第一个 shell 是 @before/@after .此后@rules被应用。 (在 Apply '@Rule' after each '@Test' and before each '@After' in JUnit 中引用@Troy)

执行顺序,一个@test , 如下

@TestWatcher starting
@Before 
@Test
@After
@TestWatcher finished

关于java - 在 @After 之前运行 TestWatcher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18008241/

相关文章:

android - 从 IDEA 运行 Robolectric 测试

java - 在需要身份验证的 Controller 上运行单元测试

java - Jython 的 sqlite3 模块

java - NoClassDefFoundError 在带有 java 1.4.2_07-b05 的 Tomcat 上具有长类名

java - 如何在超时后杀死 Selenium "Click"线程

Python和Selenium移动仿真

python - 使用 selenium 和 python 在 Linkedin 上添加连接

java - 使用 Mockito stub 并执行测试方法

eclipse - 在Eclipse中运行JUnit Test将打开控制台面板

java - 如何使用Java突出显示文档中的文本?