模仿 3 科特林。不能模拟最终 class
mockito 3 kotlin. cannot mock final class
我正在尝试模拟一个对象,但 android 工作室一直报告无法模拟最终的 class。我的设置和尝试如下;
对于我的依赖;
androidTestImplementation 'org.mockito:mockito-core:3.3.3'
我的代码是这样的;
class CategoryFile {
private lateinit var categories: Categories
@Before
fun setup() {
categories = mock(Categories::class.java)
}
@Test
fun validData() {
categories.getName(0)
}
}
当我尝试 运行 validData() 时,我得到 final class cannot be mocked
异常。
我已尝试使用此目录中的 mock-maker-inline
选项;
我了解到,一旦实现了编程方式,这个选项就会被删除。但无法在任何地方找到任何关于如何以编程方式在线执行此操作的参考资料。
我还在一些 SO 帖子中读到,您也应该将其包含在您的 class 路径中,但我不知道该怎么做。
我也尝试过使用其他 mockito 库 com.nhaarman.mockitokotlin2.mock
,它也一直告诉我 final class cannot be mocked
。
为了以防万一,我也在这些过程的多个阶段进行了多个项目重建。
因为您使用的是 androidTestImplementation
,所以请务必将相关文件和扩展名添加到 androidTest
文件夹,而不是普通的 test
我正在尝试模拟一个对象,但 android 工作室一直报告无法模拟最终的 class。我的设置和尝试如下;
对于我的依赖;
androidTestImplementation 'org.mockito:mockito-core:3.3.3'
我的代码是这样的;
class CategoryFile {
private lateinit var categories: Categories
@Before
fun setup() {
categories = mock(Categories::class.java)
}
@Test
fun validData() {
categories.getName(0)
}
}
当我尝试 运行 validData() 时,我得到 final class cannot be mocked
异常。
我已尝试使用此目录中的 mock-maker-inline
选项;
我了解到,一旦实现了编程方式,这个选项就会被删除。但无法在任何地方找到任何关于如何以编程方式在线执行此操作的参考资料。
我还在一些 SO 帖子中读到,您也应该将其包含在您的 class 路径中,但我不知道该怎么做。
我也尝试过使用其他 mockito 库 com.nhaarman.mockitokotlin2.mock
,它也一直告诉我 final class cannot be mocked
。
为了以防万一,我也在这些过程的多个阶段进行了多个项目重建。
因为您使用的是 androidTestImplementation
,所以请务必将相关文件和扩展名添加到 androidTest
文件夹,而不是普通的 test