我一直在使用新的Android应用程序架构组件。关于测试的文档给人们留下了很多的想象。我看过android体系结构组件测试文档的一部分,它非常模糊,如下所示。
用户界面&交互:--这将是您唯一需要使用Android工具测试的时候。测试UI代码的最佳方法是创建Espresso测试。--您可以创建该片段并为其提供一个模拟的ViewModel.,因为该片段只与ViewModel对话,模拟它就足以全面测试这个UI。
如何通过将ViewModel的模拟传递给片段来编写Espresso测试?我还看过谷歌提供的示例应用程序,它们也没有多大帮助。
假设这是我的示例片段类。
public class ExampleFragment extends LifecycleFragment {
private ExampleViewModel mViewModel;
@Inject ExampleViewModelFactory mViewModelFactory;
public ExampleFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_example, container, false);
}
@Override
public void onActivityCreated(@Nullable final Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ExampleComponent component = DaggerExampleComponent.builder().build();
component.inject(this);
mViewModel = ViewModelProviders.of(this, mViewModelFactory).get(ExampleViewModel.class);
mViewModel.getExampleString().observe(this, exampleString -> {
//Update UI
});
}
} https://stackoverflow.com/questions/44920345
复制相似问题