浓缩咖啡优于仪器测试案例的优势

时间:2017-03-20 07:50:57

标签: android android-espresso android-instrumentation

我已经浏览了doc浓缩咖啡,但仍然没有得到它的好处,所以我可以在浓缩咖啡上使用浓缩咖啡。有人可以帮忙吗?

我从浓缩咖啡中得知的是:

  1. 使用Espresso的一个主要好处是它提供了测试操作与您正在测试的应用程序的UI的自动同步。
  2. Espresso会检测主线程何时空闲,因此可以在适当的时间运行测试命令,从而提高测试的可靠性。
  3. 此功能还使您无需在测试代码中添加任何计时解决方法,例如Thread.sleep()
  4. 在第1点,我无法了解在采取行动时如何保持同步。

    在第2点,线程如何变为空闲状态以及我们如何避免Thread.sleep()是espresso等待元素,直到它没有显示在屏幕上。

    请建议我应该如何使用它。感谢

1 个答案:

答案 0 :(得分:2)

  

但仍然没有得到它的好处,所以我可以转向浓缩咖啡而不是仪器

我认为你在这里混淆了一些事情:

Instrumentation-Test不是必需的,这意味着您必须使用espresso

通常Instrumented Tests是以下测试:

  

...可以利用Android框架API和支持API,例如Android测试支持库。   Source

这意味着您可以编写“经典”单元测试或检测单元测试,例如需要运行Android上下文。单元测试是测试代码单个部分的测试,例如服务或类似的东西。

另一方面,

UI tests是真正启动您的活动并在您的应用中执行某些操作的测试。

Espresso本身只是一个帮助您编写自动UI测试的库。您可以使用它与应用程序中的UI进行交互(单击按钮,检查视图内容,......)。

此外,ui-automator library可以执行类似的操作,但是用于不在您的应用程序中的UI交互,例如系统对话框(权限对话框,Recent-app或home按钮,......)或者如果您的测试用例跨越多个应用程序。

所以回答你的问题:因为espresso是一个用于自动化仪器测试的库,所以你不能“赞成”espresso而不是仪器测试。