我对单元测试非常陌生,我需要为Spark读写函数编写一个单元测试。
我有一个函数,例如:
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吗?如果可能,如何嘲笑?
有没有人能帮我一下。任何帮助都将不胜感激。
1条答案
按热度按时间b0zn9rqh1#
确保HDFS在本地可用。如果您在Windows上运行测试,请确保阅读此自述文件https://github.com/steveloughran/winutils
该回购引用了更新版本的另一个回购。这两个GitHub贡献者是Hadoop团队的一部分,这些是我在本地环境中使用的二进制文件。
完成此设置后,您可以传递本地路径。它们可以是本地Linux或Windows路径。
还要阅读本文以正确设置Hadoop二进制文件的路径项:https://sparkbyexamples.com/spark/spark-hadoop-exception-in-thread-main-java-lang-unsatisfiedlinkerror-org-apache-hadoop-io-nativeio-nativeiowindows-access0ljava-lang-stringiz/?msclkid=4333eb3bc05d11ecb99904c712581198