问题描述
internal class MyWidgetView
constructor(
context: Context,attrs: AttributeSet
) : LinearLayout(context,attrs) {
...
}
它使用类似于外部依赖项的表面视图,我想对使用MyWidgetView API时如何更改它们进行单元测试。
问题当然是我无法实例化它,因为它无法找到android依赖项。
我尝试用LinearLayout
模拟mockkConstructor(LinearLayout::class)
构造函数,但没有帮助。
@ExtendWith(MockKExtension::class)
@TestInstance(TestInstance.Lifecycle.PER_METHOD)
internal class MyWidgetViewTest {
@RelaxedMockK
private lateinit var contextMock: Context
@RelaxedMockK
private lateinit var attributeSetMock: AttributeSet
@BeforeEach
fun beforeEach(){
clearallMocks()
mockkConstructor(LinearLayout::class)
sut = MyWidgetView(contextMock,attributeSetMock) // This breaks
}
@Test
fun correctlyMocked() {
assertthat(sut).isNotNull() // I never enter here
}
}
这可能吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)