是否有一个内置的模拟对象要传递给Python单元测试?
我通常在单元测试期间实例化是否有一个内置的模拟对象要传递给Python单元测试?,python,mocking,pytest,python-unittest.mock,pytest-mock,Python,Mocking,Pytest,Python Unittest.mock,Pytest Mock,我通常在单元测试期间实例化Mock对象。我厌倦了: 必须从unittest.mock导入mock键入 然后通过Mock=Mock() 我想知道,pytest、unittest.mock、pytest mock等是否有内置的方式来传递mock对象 以下是我当前的工作流程: 从unittest.mock导入mock def test_something()->无: mock=mock() mock.func() mock.func.assert_调用_once() 研究 我知道使用pytest
Mock
对象。我厌倦了:
Mock=Mock()
pytest
、unittest.mock
、pytest mock
等是否有内置的方式来传递mock
对象
以下是我当前的工作流程:
从unittest.mock导入mock
def test_something()->无:
mock=mock()
mock.func()
mock.func.assert_调用_once()
研究 我知道使用
pytest mock
,我至少可以通过
def test_something(mocker)->无:
mock=mocker.mock()
mock.func()
mock.func.assert_调用_once()
我希望能够做到这样:
def test_something(mock)->无:
mock.func()
mock.func.assert_调用_once()
如果您使用的是pytest
,只需做一个测试
否则,只需使用
pytestmock
是的,我也想到了这一点。我希望有一款完全不需要定制夹具的产品。我希望它只是内置的。
@pytest.fixture(scope="function")
def my_cool_mock():
mocked = Mock()
yield mocked
def test_something(my_cool_mock) -> None:
my_cool_mock.func()
my_cool_mock.func.assert_called_once()