我已经写了一包(http://github.com/anntzer/parsedcmd)与两个Python2和Python3运行。但是,我不得不写Python2和Python3(主要是因为我想测试Python3额外的功能,特别是仅关键字参数)分开(py.test)单元测试,所以我有一个test
子包一test_py2.py
和test_py3.py
。现在,如果我跑步,说py.test2 mypkg
,test_py2
通过,但test_py3
失败,SyntaxError
。同样,对于py.test3 mypkg
,test_py3
通行证但test_py2
失败(我能做出这样一个工作,虽然,这只是已经搬到io
的StringIO
的问题)。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
“只是工作”?
谢谢。