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

时间:2013-08-06 15:32:55

标签: python unit-testing

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

我想将断言用于Fake类执行的一些常见检查。类似的东西:

class FakeFoo(object):

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

2 个答案:

答案 0 :(得分:42)

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

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

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

答案 1 :(得分:0)

您可以使用Pytest或Nosetest。虽然我不知道它们是否具有“ assertNotNull”功能。我知道他们可以简单地使用“断言”进行断言。或者,您可以使用assertpy或ptest之类的东西,如果愿意,可以在github上搜索它们。