在独立pytest测试中使用unittest kind断言(如assertNotIn)的最佳实践?

时间:2018-04-27 08:48:29

标签: python testing pytest python-unittest

在独立的pytest测试用例中,我想使用unittest.TestCase.assertNotIn(和unittests other asserts)之类的断言,而不依赖于uniittest模块。最佳做法是使用python-assert等库吗?

1 个答案:

答案 0 :(得分:4)

最佳做法是使用语言assert语句,这样就不需要unittest的{​​{1}}方法。比较

assert*

self.assertNotIn(a, b, 'element a is not found in sequence b')

后者更像是pythonic。它也是docsassert a not in b, 'element a is not found in sequence b' 名称的主要功能之一:

  

有关失败的断言语句的详细信息(无需记住pytest名称)

如果您遗漏任何self.assert*方法,unittest旨在为其提供替代方案:

pytest

成为

with self.assertRaises(Exception):
    spam()

with pytest.raises(Exception):
    spam()

成为

self.assertAlmostEqual(a, b)