2

我有一个使用 Google Cloud Messaging (GCM) 的新应用程序,因此使用了新的 Google Play API。

因为 Google Play API 不能仅在实际设备上的模拟器中运行,所以到目前为止,我无法使用我通常的 maven、jenkins、sonar 和 emma 设置来生成任何代码覆盖率。

更具体地说,我可以运行检测测试并生成一个 emma.ec 文件,但由于该文件是在设备上而不是 sdcard 上生成的,因此我无法使用 maven 从设备中提取文件。

我相信我可以将生成的 emma.ec 位置更改为 sdcard,但我没有。或者根我的手机并以这种方式提取文件。

所以我的问题是,有没有人知道提取此文件或以其他方式解决这些限制的另一种方法?

4

1 回答 1

1

您实际上并不想测试 Google Play API 中的覆盖率,但您想测试处理 API 的代码的覆盖率,因此在这里模拟是有意义的。

首先,您将与 Google Play API 的交互封装在您自己的类中,该类仅将调用委托给 Play API。然后,您可以为您的测试模拟该服务,这样它就不会与 Google Play API 交互,而是返回有意义的测试数据,就好像它来自 Google Play API 一样。通过这种方式,您可以测试处理成功、失败和边缘情况的代码。

于 2013-02-18T03:53:05.500 回答