Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android ui测试中隔离API数据?_Android_Android Espresso_Ui Testing - Fatal编程技术网

如何在Android ui测试中隔离API数据?

如何在Android ui测试中隔离API数据?,android,android-espresso,ui-testing,Android,Android Espresso,Ui Testing,我正在尝试使用Espresso将UI测试添加到我的应用程序中,到目前为止,我已经通过了一些简单的测试。然而,我面临的问题是,我的大多数应用程序——和其他许多应用程序一样——严重依赖API数据,这些数据的状态可能随时发生变化 例如,让我们假设我正在通过与登录表单交互来测试我的应用程序的登录流。由于这涉及到对应用程序后端的请求,因此单击“登录”按钮的结果可能会根据以下情况而变化:网络状况、用户是否仍处于活动状态、用户的用户名和密码是否保持不变等等 为了克服这个问题,我想我可以添加一个新的产品风格,用

我正在尝试使用Espresso将UI测试添加到我的应用程序中,到目前为止,我已经通过了一些简单的测试。然而,我面临的问题是,我的大多数应用程序——和其他许多应用程序一样——严重依赖API数据,这些数据的状态可能随时发生变化

例如,让我们假设我正在通过与登录表单交互来测试我的应用程序的登录流。由于这涉及到对应用程序后端的请求,因此单击“登录”按钮的结果可能会根据以下情况而变化:网络状况、用户是否仍处于活动状态、用户的用户名和密码是否保持不变等等

为了克服这个问题,我想我可以添加一个新的产品风格,用于测试目的,其中网络请求被覆盖以返回预定的响应。虽然这可能会起作用,但似乎会给应用程序增加很多复杂性,因为我现在必须维护同一源文件的多个版本


所以我的问题是,Android项目通常如何处理这个问题?味道选择通常会被认为是可接受的吗?或者您可以使用更优雅的解决方案吗?

您可以模拟模型返回的内容。假设我调用
login()
,您模拟返回值,就像您可以测试何时登录被接受,何时密码错误等等