You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
from typing import Annotated
import msgspec
class TestModel(msgspec.Struct):
key: Annotated[str, msgspec.Meta(max_length=6)]
Importing the TestModel for further unit testing
from tests.model import TestModel
When I run pytest on the unittest module I get this error
.venv/lib/python3.11/site-packages/_pytest/runner.py:340: in from_call
result: Optional[TResult] = func()
.venv/lib/python3.11/site-packages/_pytest/runner.py:388: in collect
return list(collector.collect())
.venv/lib/python3.11/site-packages/_pytest/python.py:794: in collect
self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
.venv/lib/python3.11/site-packages/_pytest/python.py:767: in newinstance
return self.obj()
E TypeError: Missing required argument 'key'
The above error is addressed by assigning a default value key: Annotated[str, msgspec.Meta(max_length=6)] = "test"
However running pytest again leads to this error
.venv/lib/python3.11/site-packages/_pytest/runner.py:340: in from_call
result: Optional[TResult] = func()
.venv/lib/python3.11/site-packages/_pytest/runner.py:388: in collect
return list(collector.collect())
.venv/lib/python3.11/site-packages/_pytest/python.py:794: in collect
self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
.venv/lib/python3.11/site-packages/_pytest/fixtures.py:1713: in parsefactories
if holderobj in self._holderobjseen:
E TypeError: unhashable type: 'TestModel
When I implement __hash__() like the below both errors are resolved
Description
Setup
Struct based class
Importing the TestModel for further unit testing
When I run pytest on the unittest module I get this error
The above error is addressed by assigning a default value
key: Annotated[str, msgspec.Meta(max_length=6)] = "test"
However running pytest again leads to this error
When I implement
__hash__()
like the below both errors are resolvedIs this is an issue or am I using the library in a wrong way?
The text was updated successfully, but these errors were encountered: