【发布时间】:2022-10-01 02:46:22
【问题描述】:
我对单元测试很陌生,我需要为火花读/写功能编写单元测试。
我有如下功能,例如:
def read_file(path, format, logger):
df = spark.read.load(path, format = format)
etc.....
return df
注意:路径已安装。
现在我需要为此功能编写单元测试/模拟adls位置.
我已经检查了下面的链接,该链接使用补丁来模拟 blobServiceClient 但我不确定这是否对我有用,因为它使用了 python 的开放函数。
Trying to use patch to mock BlobServiceClient but the real class is called instead
甚至可以模拟adls,如果可以的话怎么办?
任何人都可以在这方面帮助我。 任何帮助,将不胜感激。
-
您能否分享您的代码的最小可重现示例?我们到底应该模拟什么?
adls是什么? -
adls 是天蓝色的数据湖存储,我想模拟它,因为我只从 alds 读取文件并且它已安装。
-
您的单元测试目的是测试对 ADLS 的访问还是测试功能。你能提供一个本地路径吗?
-
经过大量搜索后,我发现我可以使用 @mock.patch(BlobServiceClient) 测试对 ADLS 的访问,但现在我想测试功能,并且要求该功能应该是自包含的,它不应该做任何连接,这就是为什么我需要模拟路径,无论它是本地的还是安装的。
-
@ArturoMartinez 如果您有任何想法,那将非常有帮助。
标签: python apache-spark pyspark pytest azure-storage-account