是否有一个内置的模拟对象要传递给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
对象。我厌倦了:

  • 必须从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
    ,我至少可以通过

    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()