9

共有したいコードを書いたので、その構造を作成/維持するためのベスト プラクティスに従いたいと思います。BitBucket でコードをホストする予定ですが、現在、それをどのように整理するかを考えています。これは良い構造ですか?

project_name/
    lib/
    test/
    README

したがって、これには lib にソースがあり、test にテストがあります。これはPythonプロジェクトでどのように行われますか? これは、私が見た、Ruby プロジェクトで最も使用されている構造です。また、単体テストを実行するときは、次のようにすることをお勧めします。

set PYTHONPATH=`pwd`/lib
python test/a_test.py
4

1 に答える 1

1

私が好きになったアプローチは次のとおりです。

  • distutils を使用して setup.py ファイルを作成します。(これは、多くの拡張クラスがある場合に最も役立ちます)。これにより、モジュールをシステム全体または virtualenv ディレクトリにインストールできます。
  • 本格的なテストを行いたいが、物事のカジュアルな側面にとどまり doctestたい場合は、それが「必要最小限の」ドキュメントとしても機能する可能性があるためです (テストをドキュメント化し、それが何をしているかについてのコメントを含める場合)。doctest を使用して、コードの docstring でテストを使用するか、テストを別の .txt ファイルに保持することができます。

コマンドをsetup.py ファイル内のsetup適切なエントリで拡張することにより、doctest を統合できます。 setup.py にテストを統合する 1 つのソリューションについては、この例 (CouchDB セットアップ)cmdclass=...を参照してください。(テストと実際のドキュメントの両方を含む別のファイルを使用しますが、これも可能です)。

于 2011-06-11T23:53:33.530 に答える