from __future__ import annotations turns type annotations into strings that can later be evaluated at runtime via typing.get_type_hints see PEP 563. This is problematic because TestSlide uses the following pattern to find the expected type:
try:
argspec = inspect.getfullargspec(template)
except TypeError:
return
expected_type = argspec.annotations.get("return")
In this scenario, expected_type is a string when the expected type is Type (see _validate_argument_type() which only works if expected_type is a Type).
It seems like a potential solution is:
try:
hints = get_type_hints(template)
expected_type = hints.get("return")
except TypeError:
return
Will continue testing (I am on python 3.8.6).
from __future__ import annotationsturns type annotations into strings that can later be evaluated at runtime viatyping.get_type_hintssee PEP 563. This is problematic because TestSlide uses the following pattern to find the expected type:In this scenario, expected_type is a
stringwhen the expected type isType(see_validate_argument_type()which only works if expected_type is aType).It seems like a potential solution is:
Will continue testing (I am on python 3.8.6).