在独立的pytest
测试用例中,我想使用unittest.TestCase.assertNotIn
(和unittest
s other asserts)之类的断言,而不依赖于uniittest
模块。最佳做法是使用python-assert等库吗?
答案 0 :(得分:4)
最佳做法是使用语言assert
语句,这样就不需要unittest
的{{1}}方法。比较
assert*
与
self.assertNotIn(a, b, 'element a is not found in sequence b')
后者更像是pythonic。它也是docs中assert 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)
等