标题几乎概括了它:我尝试使用 assertEqual 来测试返回生成器对象的函数,但结果是:
AssertionError: generator object genexpr> at 0x2e70c80> != (1,2,...)
除了迭代函数并为每个单独的输出运行 assertEqual 之外,是否有更聪明的方法来做到这一点?
最佳答案
assertEqual(tuple(generator_object), (1, 2, ...))
如果它是一个无限生成器,或者您出于某种原因只想查看前 n
个结果,您可以将它与 itertools.islice
assertEqual(tuple(islice(generator_object, n)), (1, 2, ...))
关于python - 对返回生成器对象的函数进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12775794/