我有一个运动类定义为:
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)