3

パスにある PyDev 単体テスト モジュールがあります。

$(PYDEV_PROJECT_ROOT)/tests/my_unit_test.py

Eclipse PyDev の単体テスト機能を使用しようとしています。私の単体テストは、次のように構成ファイルを読み取る必要があります。

(foo,bar,baz) = myModule.readOptimizationConfig("tests/optimization_config_file.cfg")

ただし、PyDev は実行前に「tests」ディレクトリに移動し、readOptimizationConfig に指定されたパスに「tests/」を指定するとロードが試行されるため、これは機能しません。

$(PYDEV_PROJECT_ROOT)/tests/tests/optimization_config_file.cfg

ただし、これらのテストは、コマンド ラインから NOSETESTS を使用して実行する必要もあります。これは、プロジェクトのすべてのテストを実行するために、デフォルトで提供されている特定のファイルでテストを実行するオプションではなく、Eclipse をいじるよりも「nosetests」コマンドを使用するのが最も簡単な解決策だったためです。構成を起動します。ただし、nosetests は $(PYDEV_PROJECT_ROOT) ルート ディレクトリから実行する必要があるため、パスに「tests/」を指定する必要があります。

readOptimizationConfig に渡すパスが両方の方法で機能するように、プロジェクトのルート ディレクトリからユニット テストを実行するように Eclipse に強制する方法はありますか?

4

1 に答える 1

2

PyDev でこれを行うことは可能ですが、すべての起動構成ごとに行う必要があるため、少し退屈です。

とにかく、最初に単体テストを含むスクリプトとして実行を試みます (通常は、緑色の [実行] 矢印ボタンの横にあるドロップダウン メニューから [Run as...] - Python 単体テスト)。ファイルが見つからないため、この起動は失敗しcfgます。実行構成 (実行ドロップダウン - 実行構成) に移動し、[引数] タブを開き、下部の [作業ディレクトリ] の下に必要なパスを入力します (または [ワークスペース...] ボタンを使用して参照します)。たとえば、プロジェクト ルートから実行する場合で、プロジェクトが という名前awesome-projectの場合は、次のように記述します。

${workspace_loc:awesome-project}

これで、[実行] メニューと [デバッグ] メニューの両方から使用できる有効な起動構成が作成されました。私は時々、これらの設定の名前を「awesome-project TEST」など、すぐにわかる名前に変更します。

于 2013-02-12T13:24:57.273 に答える