【发布时间】:2018-04-07 22:24:56
【问题描述】:
我有一个用 Kotlin 编写的片段。我使用
导入布局视图import kotlinx.android.synthetic.main.my_fragment_layout.
在我的一种方法中,我正在设置 TextView 的文本:
fun setViews() {
myTextView.text = "Hello"
// In Java I would have used:
// (getView().findViewById(R.id.myTextView)).setText("Hello");
}
在我的普通 JVM 单元测试中,我想使用 Mockito 来测试这个方法。 例如,如果上面的方法是用 java 编写的,我可以这样做:
public void setViewsTest() {
// Mock dependencies
View view = Mockito.mock(View.class);
TextView myTextView = Mockito.mock(TextView.class);
when(fragment.getView()).thenReturn(view);
when(view.findViewById(R.id. myTextView)).thenReturn(myTextView);
// Call method
fragment.setViews();
// Verify the test
verify(myTextView).setText("Hello");
}
在使用 Kotlin 的 kotlinx.android.synthetic 视图时如何进行类似的实现?
【问题讨论】:
标签: android unit-testing kotlin mockito android-testing