2024-09-28 03:16:29 发布
网友
我发现我经常在测试中反复使用相同的模式:
mock_get_data = mock.MagicMock() mock_get_data.get_data.return_value = "mocked DB data" mock_db = mock.Mock(spec=DBClass, return_value=mock_get_data)
它将用于测试(通过修补)这类代码:
有没有办法让“双重模拟”的东西变短?在
您应该能够通过将字典传递给构造函数来实现这一点,如文档的configure mock部分所述,而不是在MagicMock创建之后配置它。在
我相信以下几点可以达到预期的效果:
mock_db = mock.Mock(spec=DBClass, return_value=mock.MagicMock(**{"get_data.return_value": "mocked DB data"})
你可以这样做:
mock_db = mock.Mock(spec=DBClass, return_value=mock.Mock(get_data=lambda:"mocked DB data"))
您应该能够通过将字典传递给构造函数来实现这一点,如文档的configure mock部分所述,而不是在MagicMock创建之后配置它。在
我相信以下几点可以达到预期的效果:
你可以这样做:
相关问题 更多 >
编程相关推荐