我测试了基于某些条件的地方,我跳过@BeforeClass
本身的执行,如 -
@BeforeClass(alwaysRun = true)
public void beforeClass() {
super.beforeClass();
if (someCondition) {
//do something
} else {
throw new SkipException(
"THESE TESTS ARE NOT INTENDED TO EXECUTE: ");
}
}
}
@BeforeMethod
public void beforeMethod() {
// do something
}
但是当我运行测试时,执行skipExecution语句仍然会执行带有@BeforeMethod
注释的方法,并且执行下面的代码会导致我的测试失败而不是跳过状态。
如果我从自动化框架中尝试它并且仅在我使用我的框架代码尝试时才会重现此问题。看起来某个地方,我投掷的例外,正被抓住。实际上在我的代码中,我没有在任何地方捕获它。我一直到父类,但我看不到异常被抓住了。
有没有办法使用Java API来识别异常被捕获的位置?