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

Python 在独立的pytest测试中使用unittest类断言(如assertNotIn)的最佳实践?,python,testing,pytest,python-unittest,Python,Testing,Pytest,Python Unittest,在独立的pytest测试用例中,我希望使用像unittest.TestCase.assertNotIn(and)这样的断言,而不依赖于uniitest模块。使用库的最佳实践是?最佳实践是使用语言assert语句,这会产生unittest的assert*方法。比较 self.assertNotIn(a, b, 'element a is not found in sequence b') 与 后者更像蟒蛇。它也是pytest中的名称的关键功能之一: 有关失败的assert语句的详细信息(无需记住

在独立的
pytest
测试用例中,我希望使用像
unittest.TestCase.assertNotIn
(and)这样的断言,而不依赖于
uniitest
模块。使用库的最佳实践是?

最佳实践是使用语言
assert
语句,这会产生
unittest
assert*
方法。比较

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

后者更像蟒蛇。它也是
pytest
中的名称的关键功能之一:

有关失败的assert语句的详细信息(无需记住
self.assert*
名称)

如果您缺少任何
unittest
方法,
pytest
旨在为它们提供替换:

with self.assertRaises(Exception):
    spam()
变成

with pytest.raises(Exception):
    spam()
assert a == pytest.approx(b)
,

变成

with pytest.raises(Exception):
    spam()
assert a == pytest.approx(b)

等等。

在什么方面依赖外部库(python断言)比依赖stdlib模块(unittest)更好?我想使用的一些pytest功能与unittest不兼容。