有没有办法在TestCase之外使用Python单元测试断言?

Is there a way to use Python unit test assertions outside of a TestCase?

我需要创建一个伪辅助类,用于单元测试(注入测试类)。 有没有办法在这样的类中使用TestCase断言?

我想将断言用于Fake类执行的一些常见检查。 就像是:

1
2
3
4
5
class FakeFoo(object):

  def do_foo(self, a, b):
    assertNotNull(a)
    ...


如果传入类中现有方法的名称,则可以创建unittest.TestCase()的实例并在其上调用方法。 在这种情况下,__init__会做:

1
2
tc = unittest.TestCase('__init__')
tc.assertIsNotNone(a)

但是,你可能正在寻找一个好的Mock库。 mock将是一个不错的选择。