我需要创建一个用于单元测试的假帮助器类(注入到测试类中)。有没有办法在此类中使用 TestCase 断言?
我想将断言用于 Fake 类执行的一些常见检查。就像是:
class FakeFoo(object):
def do_foo(self, a, b):
assertNotNull(a)
...
我需要创建一个用于单元测试的假帮助器类(注入到测试类中)。有没有办法在此类中使用 TestCase 断言?
我想将断言用于 Fake 类执行的一些常见检查。就像是:
class FakeFoo(object):
def do_foo(self, a, b):
assertNotNull(a)
...
您可以创建一个实例unittest.TestCase()
并调用它的方法。
import unittest
tc = unittest.TestCase()
tc.assertIsNotNone(a)
在较旧的 Python 版本(Python 2.7 和更早版本、3.0、3.1)上,您需要传入类中现有方法的名称TestCase
(通常它是通过子类上的测试方法的名称)。__init__
在这种情况下会这样做:
tc = unittest.TestCase('__init__')
tc.assertIsNotNone(a)
但是,您可能正在寻找一个好的Mock 库。mock
将是一个不错的选择。
另一种选择是使用pytest
,它增加了assert
语句unittest.TestCase()
以提供与断言方法相同或更多的上下文;你只需写assert a is not None
.
您可以使用 Pytest 或 Nosetest。虽然我不知道他们是否有 'assertNotNull' 功能。我知道他们可以简单地使用“断言”来进行断言。或者你可以使用 assertpy 或 ptest 之类的东西,如果你喜欢,你可以在 github 上搜索它们。