我正在尝试为包含ScheduleExpression的方法创建一个Junit测试。我曾尝试使用PowerMockito来模拟它,但我仍然收到一条错误消息,内容为
java.lang.ClassFormatError: Absent Code attribute in method
that is not native or abstract in class file javax/ejb/ScheduleExpression
以下是我使用PowerMockito的方式
ScheduleExpression expression = PowerMockito.mock(ScheduleExpression.class);
我试过了注释
@RunWith(PowerMockRunner.class)
@PrepareForTest(Static.class)
但他们没有工作。
我也尝试了Mockito版本1.9.5,但我得到了同样的错误。我错过了pom依赖吗?
有没有办法模拟ScheduleExpression?
答案 0 :(得分:1)
您必须使用您希望PowerMock准备的类的名称......
@PrepareForTest(ScheduleExpression.class)
但是,在您的情况下,我不认为需要使用PowerMock,因为ScheduleExpression
不是最终版,或者您可能试图模仿私有或静态方法。
尝试使用香草Mockito而不是像这样的PowerMockito ......
@RunWith(MockitoJUnitRunner.class)
...
ScheduleExpression expression = Mockito.mock(ScheduleExpression.class);