在 android 中编写完整测试(Unit-Instrumented)的最佳做法是什么?

What is the best practice to write full tests(Unit-Instrumented) in android?

我需要了解在我的项目中编写完整测试的流程

我阅读了很多文档,但我有一些问题要确保我真正理解单元测试。

1-我是否应该学习任何仪器测试框架,例如 Espresso 和任何本地测试 JUnit with Mockito

2-在 Espresso 中,对于每个 activity,我是否必须编写测试 class?

3-UI 测试中的活动是独立的,因为我 运行 测试了每个 activity 的 class 或者我可以 运行 多次测试 classes 用于不同的活动?

4-如何测试 viewModel 和 Repository 并检查响应状态?

1- 这取决于您的要求然而 JUnit 和 Mokito 用于单元测试(仅限功能代码测试),其中 Expresso Espresso 允许您执行 functional/instrumentation 测试,换句话说,允许您模拟用户输入并验证 UI 状态和导航。

2-不,您也可以在单个测试中编写整个代码 class,但是为了关注点分离,您应该将其保存在不同的 classes

3-这取决于您如何实施测试用例。

4- 您可以使用 JUnit 或 Mokito 来测试 ViewModels 或 Repositroy。您只需要调用调用一些 API 和 return 一些值的方法,您在测试用例代码块中获得相同的值。

希望这会有所帮助谢谢。