我有一個體育類的定義爲:Lambda函數簡化unittest?
Sport:
- name
- other fields
我有一個測試,我想驗證添加運動「橄欖球」被包含在sport_objects的列表。
目前,該測試是脆性的,該指數在檢查對象的名字,我知道這是在:
self.assertEquals('rugby', sports_objects[3].name)
我想改變這self.assertIn(),所以測試ISN」 t很脆弱,如果指數發生變化就不會受到影響(因爲我不關心這裏的訂單)。
有沒有辦法改變這種(使用lambda函數?)而不依賴於索引?
編輯:
給工大這兩個答案。我有多個斷言語句,所以我最終的解決方案是:
sports_names = [i.name for i in sports_objects]
self.assertIn('rugby', sports_names)
self.assertIn('baseball', sports_names)
謝謝!你是第一個。 – Cuga 2011-01-20 04:00:21