如何编写一个Android测试,将验证我的应用程序命中所有必需的apis

时间:2016-02-19 06:37:06

标签: android testing proxy android-espresso

我正在使用单元测试和Espresso测试对我的应用程序进行大量测试。我的下一步是确保我的应用程序达到所有必需的apis。出于这个原因,我正在寻找一种编写测试的方法,它将验证api调用。 我真的很感激任何建议。

2 个答案:

答案 0 :(得分:1)

您所描述的内容称为“单元测试”。单元测试旨在测试尽可能多的代码行,而不管UI。

Espresso测试是“检测测试”(或“UI测试”),旨在检查应用是否正确响应UI事件。它们并不是要验证代码的正确性,而是要验证用户使用的应用程序功能的正确性。

您可以在the official documentation阅读这两项内容。您会发现单元测试与测试测试非常不同,并且通常难以编写,因为它们需要对代码进行更多工程设计才能正确执行。您可能必须“模拟”应用程序的各个部分,以确保其API完全按预期调用。

答案 1 :(得分:0)

当我编写api测试时有2个主要目标: 首先是基于组件。目标是确保每个类/组件在满足某些条件时进行api调用(例如,在调用onDestroy()时调用api A) 其次,是确保Apis被称为某种顺序用于分析目的。

我通过使用Mockito和PowerMockito注入模拟对象的单元测试实现的第一步。 PowerMockito主要用于模拟静态方法,并确保方法被调用至少n次。

对于第二步,可以使用UI测试,因为它运行真实的应用程序。我已经实现了帮助类,它在发出api请求时记录实例。 Espresso中的脚本通过引用帮助程序类来验证api调用的顺序。