python中不包不包括_Unittest-断言列表中的一组项包含在(或不包含在)另一个lis中...
您好,我是編程新手,正在嘗試進(jìn)行一個(gè)測(cè)試,以檢查項(xiàng)目列表中的任何項(xiàng)目是否存在于另一個(gè)列表中(在Python2.7中使用unittest)。
例如,如果我有一個(gè)列表[“狗”,“貓”,“青蛙],而我正在測(cè)試的方法的結(jié)果是[“老虎”,“獅子”,“袋鼠”,“青蛙],我希望測(cè)試失敗,因?yàn)樗耙粋€(gè)列表(“青蛙”)中的一個(gè)項(xiàng)。我還希望測(cè)試告訴我兩個(gè)列表中都有哪些單詞(即哪些單詞導(dǎo)致測(cè)試失敗)。
我試過:self.assertIn(["cat", "dog"], method("cat dog tiger"))
該方法的結(jié)果是[“貓”,“狗”,“虎”],但測(cè)試結(jié)果是失敗的,并說:AssertionError: ['cat', 'dog'] not found in ['cat', 'dog', 'tiger']
我希望這個(gè)測(cè)試返回ok,因?yàn)椤癱at”和“dog”出現(xiàn)在第二個(gè)列表中。似乎assertIn沒有做我想它會(huì)做的事情(我想它是檢查a中是否有b存在)。
反之亦然,當(dāng)我希望它失敗時(shí),assertNotIn會(huì)通過。
我已經(jīng)找了一段時(shí)間了,但因?yàn)槲也恢牢以谡沂裁?#xff0c;所以很難找到。
謝謝你的閱讀,我希望這是有意義的。
編輯:我已經(jīng)采用了Chris的解決方案,它可以按我的意愿工作:def myComp(list1, list2):
section = list(set(list1).intersection(list2))try:
assert(len(section)==0)
except AssertionError as e:
e.args += ('The following are present in the processed text',
section)
raise
結(jié)果正是我想要的:AssertionError: ('The following are pressent in the processed text', ['dog',
'cat'])
總結(jié)
以上是生活随笔為你收集整理的python中不包不包括_Unittest-断言列表中的一组项包含在(或不包含在)另一个lis中...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加载驱动程序
- 下一篇: Appium Java