自己完結型のスクリプトを書くときは、if __name__ == '__main__'
をテスト用の場所として使用するのは悪い考えですか?テスト用に__name__ == '__main__'を使用する場合
8
A
答えて
4
テスト論理とテストは決して "生産"(生産はお客様が使用中、クライアントにリリースされたことなどを意味する)コードの一部であってはなりません。だから、あなたのスクリプト内でどこにでもを持つことは悪い考えです。
理想的には、別々のファイルに入れてください。
0
実際、そういう形で書かれたPythonスクリプト(主に別のアプリケーションのプラグイン)が多かったと思います。
3
ベストプラクティスは、テストをunittestモジュールを使用する別々のユニットに置くことです。この分離により、メインコードをきれいに保つことができます(テストヘルパー機能をたくさん用意する必要はありません)。メインコードを乱雑にしないため、包括的なテストを書くことを奨励します。
5
これは実際にスクリプトのコードと目的によって異なります。大きくて複雑なプロジェクトの場合は、すべてのテストを別の場所に配置する必要があります。
しかし小さなことに取り組んでいるときには、コードと一緒にテストするのが良い解決策になるかもしれません - それはdoctest
の主なアイデアです(これはdocstringsでテストを書くことができる素晴らしいPythonモジュールです)。私はそれがきれい見つける
if __name__ == "__main__":
import doctest
doctest.testmod()
:この場合、あなたのif __name__ == '__main__'
は次のようになります。
関連する問題
なぜ??????????? –
正当な理由があります。 –
私は新しいプログラマーですが、私はこの質問を参考にしていません – RodericDay