当前位置: 首页 > 知识库问答 >
问题:

JUnit测试涉及文档和DocumentBuilder时出现验证错误

羊越
2023-03-14

我的课堂

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
db = dbf.newDocumentBuilder(); //java.lang.verifyError here
Document doc = db.newDocument();

MyClassTest

documentBuilderFactory = PowerMockito.mock(DocumentBuilderFactory.class);
PowerMockito.mockStatic(DocumentBuilderFactory.class);  
PowerMockito.when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
document = PowerMockito.mock(Document.class);
//documentBuilder = PowerMockito.mock(DocumentBuilder.class);
//PowerMockito.when(documentBuilder.newDocument()).thenReturn(document);

当我从MyClassTest中删除注释部分时,VerifyError出现在测试类的最后一行。你知道怎么解决这个问题吗?我正在附加错误的堆栈跟踪。

java.lang.VerifyError: javax/xml/parsers/DocumentBuilder.newDocument()Lorg/w3c/dom/Document;

共有1个答案

臧彭亮
2023-03-14

java.lang.VerifyError可以是针对运行时使用的不同库进行编译的结果。

您似乎有类路径问题。修复它应该可以解决问题。确保您在任何地方都有相同版本的jar。

 类似资料:
  • 我试图运行cucumber测试,但我得到以下异常。我用那些罐子和它们的版本 这是我的项目: 这是testRunner类代码: 场景:当用户导航到登录页面并输入用户名和密码时,使用给定的有效凭据成功登录,并在主页上输入用户名和密码,然后显示消息,登录成功 场景:成功注销当用户从应用程序注销时,消息显示注销成功

  • 测试数据:- 1) Java版本“1.8.0_121”Java(TM)SE运行时环境(构建1.8.0_121-b13)Java热点(TM)64位服务器虚拟机(构建25.121-b13,混合模式) 2) eclipseideforjava开发人员版本:Neon。2版本(4.6.2)构建id:20161208-0600 3) OS Microsoft Windows 10 Home-64位 我的特征。

  • 当我尝试运行一个简单的JUnit 5测试(eclipse)时,我遇到了以下错误: 这是我的: 我尝试过类似问题的一些建议,比如这个github问题和其他问题,但是没有成功。我还在学习JUnit,所以我可能会忘记一些显而易见的东西。

  • 当一个批处理任务写入数据库的时候,很容易去查询数据去验证结果是否如预期一样。然而,如果批处理任务写入一个文件,验证输出量同样重要。Spring Batch 提供了一个类AssertFile使输出文件的验证变得容易。assertFileEquals方法带了两个文件对象(或者是两个资源对象)和断言,一行一行的,两个文件有相同的上下文。因此,它可能创建了一个文件,有预期的输出和对比之后返回的真实结果:

  • 我正在尝试将Mockito测试从Junit 4迁移到Junit 5,方法是将替换为,但这会导致以下错误。不知道我错过了什么,任何帮助都将非常感谢。 测试类:- 从Intellij运行测试时的错误日志:-

  • 我还有一个其他相同的eclipse(相同的版本等等...它来自同一个.zip存档),在这里我可以为另一个项目运行相同类型的测试。我已经检查了配置,我没有发现任何差异。因此,我目前无法理解是什么导致了这个问题。 非常感谢你能帮我解决这个问题,