我编写了一个包(http://github.com/anntzer/parsedcmd),它可以同时运行 Python2 和 Python3。但是,我不得不为 Python2 和 Python3 编写单独的 (py.test) 单元测试(主要是因为我想测试 Python3 的额外功能,特别是仅关键字参数),所以我在子包中有 atest_py2.py和 a 。现在,如果我运行,比如说,通过,但失败了。同样,对于,通过但失败(尽管我可以使这个工作,这只是移至的问题)。test_py3.pytestpy.test2 mypkgtest_py2test_py3SyntaxErrorpy.test3 mypkgtest_py3test_py2StringIOio
我可以设计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正常工作”?
谢谢。