Python2 と Python3 の両方で動作するパッケージ ( http://github.com/anntzer/parsedcmd ) を作成しました。ただし、Python2 と Python3 の単体テスト (py.test) を個別に作成する必要があったため (主に、Python3 の追加機能、特にキーワードのみの引数をテストしたいため)、サブパッケージに atest_py2.pyと atest_py3.pyがあります。testここで、たとえば を実行するとpy.test2 mypkg、test_py2合格しますが、 でtest_py3失敗しますSyntaxError。同様に、 forpy.test3 mypkgはtest_py3合格しますがtest_py2失敗します (ただし、これを機能させることはできますが、これはStringIOに移動しただけの問題ですio)。
test適切なバージョンのテストのみをインポートするようにサブパッケージを設計できますimport mypkg.testが、明らかに py.test は気にしません.2つのファイルが一致していることを確認し、インポートするように指示するtest_*ものを無視して、両方のファイルのすべてのテストを取得します。__init__.py
だから今、私は と の両方をしなければなりませpy.test2 mypkg/test/test_py2.pyんpy.test3 mypkg/test/test_py3.py。すべてをセットアップして「うまくいく」ようpy.test2 mypkgにする方法はありますか?py.test3 mypkg
ありがとう。