gpt4 book ai didi

python - Lambda 函数简化单元测试?

转载 作者:行者123 更新时间:2023-11-30 23:55:18 26 4
gpt4 key购买 nike

我有一个运动类定义为:

Sport:
- name
- other fields

我有一个测试,我想验证添加运动“橄榄球”是否包含在 sport_objects 列表中。

目前,测试很脆弱,检查我知道它位于的索引处的对象名称:

self.assertEquals('rugby', sports_objects[3].name)

我想将其更改为 self.assertIn() ,这样测试就不会那么脆弱,并且如果索引更改也不会受到影响(因为我不关心这里的顺序)。

有没有办法在不依赖索引的情况下改变它(使用 lambda 函数?)?

编辑:

这两个答案都很好用。我有多个断言语句,所以我的最终解决方案是:

sports_names = [i.name for i in sports_objects]
self.assertIn('rugby', sports_names)
self.assertIn('baseball', sports_names)

最佳答案

self.assertIn('rugby', [sport_object.name for sport_object in sports_objects])

关于python - Lambda 函数简化单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4743199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com