【发布时间】:2022-12-11 17:43:31
【问题描述】:
我发现自己为两个类的方法编写测试,其中一个类具有从另一个 BaseModel 类检索的 str 字段:
class Person(BaseModel):
firstname: Optional[str] = settings.get_settings().firstname
lastname: Optional[str] = settings.get_settings().lastname
现在,当我尝试创建夹具时,我遇到了这个问题
#test file
@pytest.fixture
def person_class():
person = Person(
firstname="Marco",
lastname="Marche"
)
return person()
错误:
pydantic.error_wrappers.ValidationError: 31 validation errors for Settings
设置是一个 BaseSettings 类。
class Settings(BaseSettings):
firstname: str,
lastname: str,
address: str,
telephone: str
@lru_cache
def get_settings() -> Settings:
return Settings()
如何通过创建一个包含我输入的字段的“假”Person 类来解决它?
【问题讨论】: