Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Junit5为每个测试提供单独的类装入器_Java_Junit5 - Fatal编程技术网

Java 如何使用Junit5为每个测试提供单独的类装入器

Java 如何使用Junit5为每个测试提供单独的类装入器,java,junit5,Java,Junit5,我一直在尝试设置JUnit5扩展,以强制每个测试获得一个单独的类加载器。我可以在Junit4中轻松地完成这项工作,创建自己的BlockJUnit4 ClassRunner。但是,我现在无法让它工作 其目的是能够在不同状态下测试静态块或记忆字段等内容 到目前为止,我一直在尝试使用TestInstanceFactory,但没有成功: 公共类separatedClassLoaderExtension实现TestInstanceFactory{ @鬼鬼祟祟 @凌驾 公共对象createTestInsta

我一直在尝试设置JUnit5扩展,以强制每个测试获得一个单独的类加载器。我可以在Junit4中轻松地完成这项工作,创建自己的BlockJUnit4 ClassRunner。但是,我现在无法让它工作

其目的是能够在不同状态下测试静态块或记忆字段等内容

到目前为止,我一直在尝试使用TestInstanceFactory,但没有成功:

公共类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是困难的。不要只是等待——贡献!讨论,创建概念证明。。。公共关系?;-)