Я написал пакет (http://github.com/anntzer/parsedcmd), который работает как с Python2, так и с Python3. Тем не менее, мне пришлось написать отдельные (py.test) модульные тесты для Python2 и Python3 (главным образом потому, что я хочу проверить дополнительные функции Python3, в частности аргументы только для ключевого слова), поэтому у меня есть test_py2.py
и test_py3.py
в подпапке test
, Теперь, если я забегу, скажем py.test2 mypkg
, test_py2
проходит, но test_py3
не работает с SyntaxError
. Аналогично, для py.test3 mypkg
, test_py3
проходит, но test_py2
терпит неудачу (я мог бы заставить эту работу работать, это всего лишь проблема StringIO
, переместившись на io
).py.test работает Python2 и Python3
Я могу спроектировать test
подпакет так, что import mypkg.test
импортирует только правильную версию тестов, но, по-видимому py.test не волнует - он видит только два файла, соответствующие test_*
и захватывает все тесты в обоих из них, не обращая внимания что __init__.py
говорит ему импортировать.
Так что сейчас я должен делать как py.test2 mypkg/test/test_py2.py
, так и py.test3 mypkg/test/test_py3.py
. Есть ли способ настроить все, чтобы py.test2 mypkg
и py.test3 mypkg
«просто работали»?
Спасибо.