Alexander Belopolsky <[email protected]> added the comment:
> The only alternative is to manually duplicate tests, these leads to very
> poor test coverage because of the average developer's laziness (json is
> an example).
No, here is another alternative:
==> _example.py <==
def foo():
print(__name__)
==> example.py <==
def foo():
print(__name__)
try:
from _example import *
except ImportError:
pass
==> test_example.py <==
import sys
sys.modules['_example'] = None
import example
example.foo()
del sys.modules['_example']
import _example as example
example.foo()
With the code above,
$ ./python.exe test_example.py
example
_example
If we move import to setUp(), we can run each test case twice: with and without
native code. Tests that are specific to one implementation can be run once or
skipped conditionally on per test method basis.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue7989>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com