PowerMock报错导致无法运行测试类
在执行单元测试时报错如下:
1
| ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider jdk.nashorn.api.scripting.NashornScriptEngineFactory not a subtype
|
在Stack Overflow上找到了同样的错误,该报错是在使用了PowerMock框架后发生的,奇怪的是,某些同样使用该框架的测试类却不会报错,暂时不明白抛出该异常的根本原因,先记录下解决方法。
在当前测试类里加上一个忽略该异常的注解:@PowerMockIgnore
,即可正常运行单元测试,如下:
1
2
3
4
5
6
7
| import org.powermock.core.classloader.annotations.PowerMockIgnore;
@RunWith(PowerMockRunner.class)
@PowerMockIgnore({"javax.script.*"})
public class VendorTest {
//....
}
|
顺带一提,这里使用的PowerMock框架是2.0.2版本的。
参考链接
警告
本文最后更新于 August 19, 2021,文中内容可能已过时,请谨慎使用。