TestNG 允许您覆盖并可能跳过测试方法的调用。这很有用的一个例子是,如果您需要使用特定的安全管理器来测试您的方法。您可以通过提供一个实现IHookable的侦听器来实现这一点。
以下是 JAAS 的示例:
public class MyHook implements IHookable {
public void run(final IHookCallBack icb, ITestResult testResult) {
// Preferably initialized in a @Configuration method
mySubject = authenticateWithJAAs();
Subject.doAs(mySubject, new PrivilegedExceptionAction() {
public Object run() {
icb.callback(testResult);
}
};
}
}