如何通过将数据框作为输入来编写 pytest 以获取 palantir Foundry 中的所有必需值

Posted

技术标签:

【中文标题】如何通过将数据框作为输入来编写 pytest 以获取 palantir Foundry 中的所有必需值【英文标题】:How to write pytest by taking dataframe as an input to fetch all the required values in palantir foundry 【发布时间】:2020-11-17 06:54:56 【问题描述】:

我可以编写 pytest 函数,方法是手动提供列名和值以创建数据框并将其传递给生产代码以检查 palantir 代工厂代码存储库中所有转换后的字段值。

我不想手动传递列名及其各自的值,而是将所有必需的数据存储在数据集中,并将该数据集导入pytest 函数以获取所有必需的值并传递给生产代码以检查所有转换后的字段值。

无论如何都可以接受数据集作为 planatir 代码存储库中测试函数的输入。

【问题讨论】:

pytests 在 CI 时运行,您无法从 CI 的代工厂数据集中读取数据 【参考方案1】:

您无法在运行测试时读取数据集。但是,也许您可​​以创建测试数据集,将其保存为 CSV,然后在测试中使用测试的 spark 会话读取 CSV。其代码类似于spark.read.csv("path")

这会增加文件 I/O 时间并减慢您的测试速度,因此我的建议是使用已在内存中的测试数据创建数据帧。代码为spark.createDataFrame(data)

【讨论】:

以上是关于如何通过将数据框作为输入来编写 pytest 以获取 palantir Foundry 中的所有必需值的主要内容,如果未能解决你的问题,请参考以下文章

如何设置MS-Access文本框以根据表值直接输入您正在键入的内容?

如何确保将空文本框文本作为 DBNull 输入到数据库中?

我如何对这样的代码进行单元测试?

如何使用 python pytest 断言 2 个数据帧

Spark Dataframe - 将行作为输入和数据框具有输出的方法

如何在熊猫数据框中查找列的 ngram 频率?