0

現在、次のファイル構造を持つプロジェクトに取り組んでいます。

  • モジュール
    • デバイス 1
    • デバイス 2
  • テスト
    • テスト 1

最終的に、私は自分のテストケースでDevice 1インポートできるようにしたくありません。これは現在、親ディレクトリをパスに追加することで実現されています: . 残念ながら、これにより、IDE がデバイスに関する有用な情報を表示できなくなります。がメイン ファイルであるため、相対インポートはここでは機能しないようです。つまり、 で開始されます。私はpython 2.7を使用しています。Device 2Test 1sys.path.append(os.path.join(os.path.dirname(__file__), ".."))Test 1python test1.py

4

1 に答える 1

0

私はこれを100%標準ではない方法で行っていますが、当面は機能しています: サンプル プロジェクトのスクリーンショット

ご覧のmain.pyとおり、このモックアップにはまだ がありません。私が持っているのは、一方のフォルダーにモジュールがあり、もう一方のフォルダーにテストがあります。

sys.path.append主な「トリック」(繰り返しますが、それが賢明かどうかはわかりません) は、 andを使用してフォルダー階層を下ること__file__.rsplit('\',2)です。もう 1 つのトリックは、メインとして呼び出された場合、すべてのモジュールが init をロードしてそれ自体をテストすることですが、init ファイルが呼び出された場合は、すべてのモジュールをテストします。

誰かがより良い解決策を示してくれることを願っていますが、これはピンチでうまくいくかもしれません.

于 2013-03-05T20:43:52.083 に答える