私はPython2とPython3の両方で動作するパッケージ(http://github.com/anntzer/parsedcmd)を書いています。しかし、私はPython2とPython3のための別々の(py.test)単体テストを書く必要がありました(主にPython3の特別な機能、特にキーワードのみの引数をテストしたいので)test_py2.py
とtest_py3.py
がtest
サブパッケージにあります。今、私が走ったら、py.test2 mypkg
と言って、test_py2
が合格しますが、test_py3
はSyntaxError
で失敗します。同様に、py.test3 mypkg
の場合はtest_py3
が合格しますが、test_py2
が失敗します(私はこれを行うこともできますが、それはちょうどio
に移動したStringIO
の問題です)。py.test Python2とPython3を実行中
import mypkg.test
はテストだけの適切なバージョンをインポートし、どうやらpy.test気にしないように、私はtest
サブパッケージを設計することができます - それはちょうどtest_*
に一致する2つのファイルを見て、それらの両方ですべてのテストをつかみ、無視して何を__init__.py
は彼にインポートするように指示します。
だから私はpy.test2 mypkg/test/test_py2.py
とpy.test3 mypkg/test/test_py3.py
の両方を行う必要があります。 py.test2 mypkg
とpy.test3 mypkg
が「うまくいく」ように全体を設定する方法はありますか?
ありがとうございました。