Java 模拟Bigquery进行集成测试
虽然其他接口在我的Java集成测试中比较容易模拟,但我找不到模拟Bigquery的合适方法 一种可能是模拟我在Bigquery上编写的层,但我更喜欢以更自然的方式模拟Bigquery。我正在寻找一个有限的、轻量级的实现,它允许定义表内容,并支持使用标准API的查询。Java 模拟Bigquery进行集成测试,java,google-bigquery,integration-testing,Java,Google Bigquery,Integration Testing,虽然其他接口在我的Java集成测试中比较容易模拟,但我找不到模拟Bigquery的合适方法 一种可能是模拟我在Bigquery上编写的层,但我更喜欢以更自然的方式模拟Bigquery。我正在寻找一个有限的、轻量级的实现,它允许定义表内容,并支持使用标准API的查询。 有这样的图书馆吗?如果没有,建议使用什么替代方法?在单元测试中,模拟所有外部依赖项是完全可以的,只要您使用接口抽象出对BigQuery客户端的访问,模拟就不应该是问题 通过集成测试,我更愿意测试我所有的第三方依赖关系 为了扩展应用程
有这样的图书馆吗?如果没有,建议使用什么替代方法?在单元测试中,模拟所有外部依赖项是完全可以的,只要您使用接口抽象出对BigQuery客户端的访问,模拟就不应该是问题 通过集成测试,我更愿意测试我所有的第三方依赖关系 为了扩展应用程序需要它 例如,一种情况是ETL,它将数据从外部源流到BigQuery,在这种情况下,集成测试需要验证所有数据是否如预期的那样位于BigQuery中,这意味着验证阶段需要根据需要考虑重复的和嵌套的消息 另一种情况是运行一些业务SQL的应用程序,在这种情况下,在应用程序运行之前,您需要用一些测试数据填充BigQuery, 然后应用程序需要将SQL输出发布为view/new table/或stream out of data out for verification 已经有一些库负责与数据存储的集成测试,包括BigQuery/NoSQL/SQL 它们将为上述情况提供一个简单的解决方案,并完全支持SQL、动态宏/谓词等
公共BG端点到您的重放层您将使用http java代理。我需要为JDSUnit安装go lang吗?还有介绍说我们需要安装DSUnit server,那是什么?您需要安装golang,jdsunit只是DSUnit server的简单rest客户端,它实际上负责数据准备和验证。对不起,不清楚DSUnit server在我安装golang时是否会自动安装?哪个组件与BigQuery通信,是jdsunit客户端还是dsunit服务器?请澄清。谢谢。go lang中的DsUnit服务器与BigQuery通信。看起来jdsunit配置有自动安装和本地运行选项,如果设置了这些选项,那么它会拉取、构建和运行dsunit服务器(如果安装了golang)。谢谢@Adrian Witas,你能告诉我jdsunit的安装方向吗?