In Python's typing
module, they have a really helpful constant that's True
when type checking, but False
otherwise. This means, for example, that you can import classes dynamically if TYPE_CHECKING
evaluates to True
.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from module import Class
It would be super useful if unittest
had something similar. I can see in the __init__.py
file, there exists a variable defined as __unittest = True
:
__all__ = ['TestResult', 'TestCase', 'TestSuite',
'TextTestRunner', 'TestLoader', 'FunctionTestCase', 'main',
'defaultTestLoader', 'SkipTest', 'skip', 'skipIf', 'skipUnless',
'expectedFailure', 'TextTestResult', 'installHandler',
__unittest = True
Is there any way to use __unittest
in the same way as TYPE_CHECKING
from typing
?
Reason for this: I have some user examples in my code-base which can be run and plot graphs. I would like to run these examples as part of the unit tests to see when they break and need fixing. I need a dynamic way of stopping the examples trying to open a plotting window and blocking the unit tests, however.
Any help very much appreciated!