3

我们正在尝试为我们的应用程序编写 instrumentationTest。

例如,我想为授权/注册编写测试。

但是,在每次测试之前,我都想未经授权?所以我需要清理所有数据,删除数据库等。

那么有没有办法在每次测试之前删除应用程序或应用程序的数据?

4

3 回答 3

12

使用 Android Studio,您可以创建一个测试配置,在运行测试之前先卸载您的应用。

创建一个新的外部工具。

  1. 转到首选项-> 外部工具。
  2. 单击“+”图标创建一个新工具。
  3. 将名称设置为“卸载 myApp”(或任何您喜欢的名称)
  4. 将组设置为“自定义工具”(或任何您喜欢的)
  5. 将程序设置为“adb”
  6. 设置参数卸载
  7. 单击确定。

您可以通过单击工具->自定义工具->“卸载 myApp”来测试这个新工具是否有效。

步骤 2. 创建或编辑您的测试配置。

  1. 转到编辑配置。
  2. 选择您要修改的 Android 测试配置。
  3. 在“启动前:...”下,单击“+”图标。
  4. 选择“运行外部工具”。
  5. 在弹出窗口中,选择您的新工具“卸载 myApp”。
  6. 使用箭头,使外部工具高于任何其他命令,如 Gradle-aware Make"。
  7. 单击确定。

现在,当您运行此配置时,应先卸载您的应用程序,然后再运行测试。

于 2014-06-28T21:35:55.767 回答
3

这个问题是在 13 年提出的。从那时起,我们已经走了很长一段路。Android 有 jUnit 测试运行器,它带有一个在测试协调器下的清理机制。

在这里查看https://developer.android.com/training/testing/junit-runner

于 2019-02-13T18:04:36.293 回答
2

使用注释,例如:

@BeforeEach

并将您的清理代码放在那里。

于 2013-12-23T09:20:29.903 回答