测试:字符串不是字符串

时间:2014-04-03 09:04:52

标签: python unit-testing

这个测试结果令我难以置信。这可能是什么错?毕竟这是完全相同的词。

======================================================================
FAIL: test_make_table_list_supplier_unknown (__main__.ConvertingListToDic)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_scraping.py", line 20, in test_make_table_list_supplier_unknown
    self.assertIs(no_supplier_table[0].get('ingredient list')[0]['ingredient'], 'Crystalline Silica')
AssertionError: 'Crystalline Silica' is not 'Crystalline Silica'

2 个答案:

答案 0 :(得分:6)

assertIs(a, b)检查ab是否是同一个对象。

您可能只想检查值,在这种情况下使用assertEqual()

self.assertEqual(no_supplier_table[0].get('ingredient list')[0]['ingredient'], 'Crystalline Silica')

请注意,还有一个assertEquals(),已弃用,因此请务必使用assertEqual()

有关详细信息,请参阅python文档。

https://docs.python.org/2/library/unittest.html#unittest.TestCase.assertIs

https://docs.python.org/2/library/unittest.html#unittest.TestCase.assertEqual

答案 1 :(得分:2)

is测试对象标识。不同的物体可以是平等的;你想要的是assertEqual