我想在测试失败时截屏,但是,事后,运行@After 方法。
有可能吗?使用 TestWatcher,方法 failed() 在 @After 之后运行。
此外,我无法将 @After 内容传递给 TestWatcher finished(),因为我有一个 super.afterTest() 可以调用 @After。
有什么想法吗?
最佳答案
不可能TestWacher
方法 finished()
或 failed()
在 @after
之前运行方法鉴于TestWatcher
是 Rules
的基类.
由于规则的设置方式,您不能在 @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/