我正在为Spark作业编写单元测试,并且一些输出被命名为元组:pyspark.sql.Row
我如何断言他们的平等?
actual = get_data(df)
expected = Row(total=4, unique_ids=2)
self.assertEqual(actual, expected)
当我这样做时,值会按照我无法确定的顺序重新排列。
答案 0 :(得分:1)
根据{{3}}:
,您的代码应该按照书面形式运行字段将按名称排序。
然而,另一种方法是使用pySpark.sql.Row
的{{3}}方法并将它们作为词典进行比较:
actual = get_data(df)
expected = Row(total=4, unique_ids=2)
self.assertEqual(actual.asDict(), expected.asDict())