我正在尝试模拟作为参数发送到要测试的类的构造函数的类。
模拟创建行抛出Java注释错误。 如果删除注释,则模拟成功。
我需要知道为什么无法进行模拟,或者有什么我需要做的不同的事情。
同时尝试了Mockito2和PowerMockito2。两者都导致相同的错误。
代码如下
fs.close(fd)
Stacktrace:
AnnotationClass {
....
MyAnnotationClass {
....
}
}
@MyAnnotationClass
MyFilterClass {
}
SUTClass {
SUTClass(MyFilterClass filter) {
}
}
import static org.mockito2.Mockito.*;
import static org.powermock2.api.mockito.PowerMockito.mockStatic;
import org.junit.*;
import org.junit.runner.RunWith;
import org.powermock2.core.classloader.annotations.SuppressStaticInitializationFor;
import org.powermock2.api.mockito.PowerMockito;
import org.powermock2.core.classloader.annotations.PrepareForTest;
import org.powermock2.modules.junit4.PowerMockRunner;
import system.context.IUserContext;
import system.context.UserContext;
import junit.framework.TestCase;
@RunWith(PowerMockRunner.class)
Testclass {
MyFilterClass filter = mock(MyFilterClass.class); //throws annotation err
}