我正在为我的API客户端编写测试。我需要模拟
我有以下pydantic模型:
任何想法如何修补/模拟它?(保留HTML,不解释)
get
函数,以便它不会发出任何请求。因此,我想返回一个MagicMock
对象,而不是返回Response
对象。但是,当pydantic访问该模型时会引发ValidationError
异常。我有以下pydantic模型:
class Meta(BaseModel):
raw: Optional[str]
response: Optional[Response]
class Config:
arbitrary_types_allowed = True
这引起了:
> ???
E pydantic.error_wrappers.ValidationError: 1 validation error for OneCallResponse
E meta -> response
E instance of Response expected (type=type_error.arbitrary_type; expected_arbitrary_type=Response)
一种解决方案是将Union
与MagicMock
结合使用,但我真的不想为测试更改代码。这不是正确的方法。
class Meta(BaseModel):
raw: Optional[str]
response: Optional[Union[Response, MagicMock]]
class Config:
arbitrary_types_allowed = True
任何想法如何修补/模拟它?(保留HTML,不解释)