是否有一个例子PyFlink SQL单元测试在一个自包含的回购?



是否有一个自包含存储库的示例,显示如何执行PyFlink(特别是1.13)的SQL单元测试?X(如果可能的话)?

这里有一个相关的SO问题,建议使用PyFlink本身的一些测试。我遇到的问题是,PyFlink repo假设一堆东西在Java类路径上,并且一些Python实用程序类可用(它们不是通过PyPi apache-flink分发的)。

我做了以下的事情:

  1. 从PyFlink复制test_case_utils.pysource_sink_utils.py到我的项目。
  2. 复制一个示例单元测试(这个是由相关的SO问题建议的)。

当我尝试运行测试时,我得到一个错误,因为测试用例无法确定要下载哪个版本的Avro jar (download_apache_avro()失败,因为此代码试图通过运行mvn help:evaluate -Dexpression=avro.version来评估avro.version的值)

然后我添加了一个虚拟的pom.xml,定义了avro.version的Maven属性(值为1.10.0),并且加载了我的单元测试用例。

我现在得到一个新的错误,我的测试被跳过:

'flink-table-planner*-tests.jar' is not available. Will skip the related tests.

我不知道如何解决这个问题。我已经尝试将flink-table-plannerflink-table-planner-blink的依赖关系与<type>test-jar</type>添加到我的虚拟pom.xml中,但它仍然失败。

这开始让人觉得做一些本应该很琐碎的事情真的很痛苦:PyFlink项目的基本TDD。是否有一个真实的Python项目示例,展示了如何使用PyFlink设置用于单元测试SQL的测试环境?

您可以参考https://github.com/dianfu/pyflink-faq/tree/main/testing,它提供了如何在外部项目中编写单元测试的示例。

相关内容

  • 没有找到相关文章

最新更新