我的课
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;
最佳答案
针对与运行时使用的库不同的库进行编译时,可能会导致java.lang.VerifyError。
看来您有类路径问题。解决该问题的解决方法。确保所有地方都有相同版本的罐子。