【发布时间】:2015-08-18 18:11:46
【问题描述】:
我正在 Python 中执行单元测试,我试图检查两个列表中的元素是否在一定范围内。我正在考虑的两个列表是yields 和list_of_yields,并且正在考虑做self.assertEqual(round(yields-list_of_yields, 7), 0)。但是- 是列表不受支持的类型,所以我的两个问题是如何检查元素是否在某个范围内以及如何对多个元素执行assert,因为我被告知有多个asserts是不好的做法。我看到了this answer,但我的问题略有不同。
谢谢
【问题讨论】:
-
元素的顺序是什么?假设我们有以下列表
[a, b, c]和[x, y, z]以及一个返回 true 的接近函数,如def close(item1, item2)。您是否只想按照它们在列表中的索引顺序检查元素,例如:all(( close(a,x), close(b,y), close(c, z) ))?或者您只是想看看两个列表中是否有任何可以满足条件的选择排列? -
any([ abs(x - y) > 7 for x, y in zip(yields, list_of_yields) ])?
标签: python unit-testing