Mockito文档说你不能嘲笑最后一堂课,而是通过Gradle工作进行这样的测试。具体来说,我在Android项目中进行了单元测试,其中包含以下内容:
@Mock
private ViewTreeObserver mockTreeObserver;
...
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
...
}
ViewTreeObserver
是最后一堂课。
我需要在Eclipse和Android Studio中支持遗留开发环境。使用包装器的Studio和Gradle命令行都通过。 Eclipse失败并带有
org.mockito.exceptions.base.MockitoException:
Cannot mock/spy class android.view.ViewTreeObserver
以及为什么?'如果可能的话,我真的需要知道如何让Eclipse通过(不重写测试)。
各种库版本如下:
答案 0 :(得分:1)
根据Rene的建议,我在尝试创建示例版本时发现了这个问题。有问题的测试缺少@RunWith(RobolectricGradleTestRunner.class)
注释。
RobolectricGradleTestRunner
扩展RobolectricTestRunner
并解析各种各样的部分,包括在所有Intellij,eclipse和Gradle命令行中运行测试的能力。
因为没有发现那种感觉有点愚蠢。在我的辩护中,我没有创作那个特定的测试...