Java 如何使用Junit5为每个测试提供单独的类装入器
我一直在尝试设置JUnit5扩展,以强制每个测试获得一个单独的类加载器。我可以在Junit4中轻松地完成这项工作,创建自己的BlockJUnit4 ClassRunner。但是,我现在无法让它工作 其目的是能够在不同状态下测试静态块或记忆字段等内容 到目前为止,我一直在尝试使用TestInstanceFactory,但没有成功:Java 如何使用Junit5为每个测试提供单独的类装入器,java,junit5,Java,Junit5,我一直在尝试设置JUnit5扩展,以强制每个测试获得一个单独的类加载器。我可以在Junit4中轻松地完成这项工作,创建自己的BlockJUnit4 ClassRunner。但是,我现在无法让它工作 其目的是能够在不同状态下测试静态块或记忆字段等内容 到目前为止,我一直在尝试使用TestInstanceFactory,但没有成功: 公共类separatedClassLoaderExtension实现TestInstanceFactory{ @鬼鬼祟祟 @凌驾 公共对象createTestInsta
公共类separatedClassLoaderExtension实现TestInstanceFactory{
@鬼鬼祟祟
@凌驾
公共对象createTestInstance(TestInstanceFactoryContext factoryContext,ExtensionContext ExtensionContext)抛出TestInstanceException{
ClassLoader testClassLoader=新的testClassLoader();
最终类testClass=Class.forName(factoryContext.getTestClass().getName(),true,testClassLoader);
构造函数defaultConstructor=testClass.getDeclaredConstructor();
defaultConstructor.setAccessible(true);
返回defaultConstructor.newInstance();
}
}
我从Junit得到一个异常,说这个类不是正确的类型
有人知道吗?朱尼特·朱庇特并不支持这一点。这是一个相关的问题:是的,我想我们所要做的就是等待。虽然很悲伤。。。在这和PowerMock之间,100%切换到Junit5是困难的。不要只是等待——贡献!讨论,创建概念证明。。。公共关系?;-)