どのように私は次の関数のためのユニットテストを書くことができた:それは読み取り専用であるようはどのようにユニットテストのpythonのバージョンスイッチ
def version_switch():
if sys.version_info.major < 3:
print('not python 3')
else:
print('python 3')
私の最初の考えはsys.version_info.major
をからかっていたがすることは、それはしないだろう属性。
私は、py3とpy2の下でtoxを使ってテストスイートを実行します。ただし、各実行は1つのコードパスのみをチェックします。実際の関数は言語固有の機能を使用しません。バージョンを判断する別の方法、模擬するのが簡単なものを探すべきでしょうか?
"実際の機能は言語固有の機能を使用していません" - それでは何がしますか?最初はなぜ 'sys.version_info'を見ていますか? – mgilson
各バージョンで100%コードカバレッジを取得する方法をお尋ねしますか? –
@SamDufel私は正当な理由なくカバーしたくないので、私は尋ねた。私は100を見る必要はありませんが、私はショートカットを取っていないことを知りたいです。 – Elbenfreund