有没有一种方法可以在TestCase之外使用Python单元测试断言?
有没有一种方法可以在TestCase之外使用Python单元测试断言?
我需要创建一个假的辅助类用于单元测试(注入到被测试类中)。是否有什么方法可以在这样的类中使用TestCase断言?
我想使用断言来执行Fake类执行的一些常见检查。像这样的东西:
class FakeFoo(object): def do_foo(self, a, b): assertNotNull(a) ...
admin 更改状态以发布 2023年5月21日
你可以创建一个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
。