2016-11-19 54 views
0

由于某种原因,我写了很多应用程序,最终与Google Drive集成。它是一个非常有用的基于云的存储实用程序,它可以在整个地方实现集成。可以模拟Google Drive API的服务或容器?

我的许多集成测试都需要调用实际的Google API。太浪费了。

你可以使用Mockito来嘲笑它,但这是一大堆工作。而且这仅仅是对单元测试已经剔除了嘲笑。

有人提出了一个模拟HTTP驱动API的模拟HTTP Web服务吗?

我希望找到创建Docker容器的人,他可以启动一个模拟Google驱动器api,您可以将Google Drive-sdk指向并从Linux文件系统后端运行。

S3有这个。例如:https://hub.docker.com/r/lphoward/fake-s3/

我很确定没有这样的码头容器存在。 Google的产品中是否有任何内容?谢谢你的时间!

回答

0

这里是我发现:

对于JAVA:

请尝试检查HTTP Unit Testing。如文档中所述:

使用此HTTP框架编写单元测试时,请勿向真实服务器发出请求。相反,模拟HTTP传输并注入假的HTTP请求和响应。用于Java的Google HTTP客户端库的pluggable HTTP transport layer使得这个过程非常灵活和简单。

此外,com.google.api.client.testing.http包(@Beta)中包含一些有用的测试实用程序。

对于Android的:

如果你使用的是Android工作室的测试代码的位置取决于测试的你正在写的类型。 Android Studio提供源代码目录(源集)。

  • 本地单元测试

    位于module-name/src/test/java/

    这些是在您的计算机的本地Java虚拟机(JVM)上运行的测试。当您的测试没有Android框架依赖关系或者您可以模拟Android框架依赖关系时,使用这些测试来最小化执行时间。

    在运行时,这些测试是针对android.jar的修改版本执行的,其中所有最终修饰符都已被剥离。这可让您使用流行的模拟库,如Mockito

您可能要检查这个SO post,看看是否有帮助。

对于Python

你可以试试Mocks

Mock对象的使用是Python和其他面向对象语言的标准测试方法。该库定义了模拟API调用响应的Mock类。您可以使用它们来测试您的代码如何处理与Google API的基本交互。

您可以使用HttpMock class模拟对单个HTTP请求的响应。

希望有帮助!