无法使用 Mockito 2 模拟最终的 Kotlin 类
我无法使用 Mockito 2 模拟 Kotlin 最终类。此外,我还在使用Robolactric。
这是我的测试代码:
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
public class Test {
// more mocks
@Mock
MyKotlinLoader kotlinLoader;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
}
当我们尝试初始化方法中的模拟时,测试失败。setUp()
此外,我在代码中使用以下 gradle 依赖项:
testCompile 'org.robolectric:robolectric:3.3.2'
testCompile 'org.robolectric:shadows-multidex:3.3.2'
testCompile 'org.robolectric:shadows-support-v4:3.3.2'
testCompile("org.powermock:powermock-api-mockito2:1.7.0") {
exclude module: 'hamcrest-core'
exclude module: 'objenesis'
}
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-inline:2.8.9'
所有其他单元测试都使用此配置通过,但是一旦我尝试模拟Kotlin类,它就会引发以下错误:
Mockito cannot mock/spy because :
- final class
请注意,我正在使用Mockito版本2,并且我正在使用自动启用模拟最终类的能力的依赖项。inline