当我运行 junit 测试用例时遇到以下问题,类如下:;
公共类 RoeSubmissionBeanTest {
RoeSubmissionBean roeSubmissionBean;
ServiceActivation serviceAct = new ServiceActivation();
UpdateTimeResponse updateTimeResponse = new UpdateTimeResponse();
RoEUpdateSuccessfulDT roeUpdateSucces;
MessageIdentification msgID;
ExchangeFaultData faultMessage;
@Before
public void setUp() throws Exception {
//这条线失败了
roeSubmissionBean = Mockito.mock(RoeSubmissionBean.class);
serviceAct = Mockito.mock(ServiceActivation.class);
updateTimeResponse = Mockito.mock(UpdateTimeResponse.class);
roeUpdateSucces = Mockito.mock(RoEUpdateSuccessfulDT.class);
doCallRealMethod().when(roeSubmissionBean).sendMessage(roeUpdateSucces, msgID, faultMessage);
}
主要方法是
公共类 RoeSubmissionBean {
private Logger logger = LoggerFactory.getLogger(RoeSubmissionBean.class);
private JMSSender sender = new JMSSender(RoeSubmissionBean.class);
}
我在这里尝试了一些问题,我必须将依赖项放入 POM 中,但仍然遇到相同的错误
错误: java.lang.ClassFormatError:类文件 javax/jms/JMSException 中非本机或抽象的方法中缺少代码属性
{ at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethods(Class.java:1975)
at org.mockito.cglib.core.ReflectUtils.addAllMethods(ReflectUtils.java:349)
at org.mockito.cglib.proxy.Enhancer.getMethods(Enhancer.java:422)
at org.mockito.cglib.proxy.Enhancer.generateClass(Enhancer.java:457)
}
此异常表明您的类路径中没有类。验证 pom.xml 文件中的依赖项及其范围。
另一个错误有时是本地存储库中的 jar 已损坏并且类的字节码不存在。
可以在依赖中找到javax.jms.JMSException类:
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>