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
ありがとう。