2016-05-21 13 views
0

私はLiClipse/PyDevを使用しています。パッケージエクスプローラからテストやその他のPythonモジュールを右クリック→実行→Python実行すると、作業ディレクトリは対応するファイルのディレクトリに設定されます。 $ {workspace_loc:MyProject/tests/misc}です。PyDev/LiClipse/Eclipseのデフォルトの作業ディレクトリを設定する

私はすべてがプロジェクトのルートフォルダから実行されたいです。実行コンフィギュレーション - >引数の下で、そのフォルダは "default"ボタンを使って選択することができ、作業ディレクトリを$ {project_loc:/ selected project name}に設定します。残念ながら、デフォルトでは「デフォルト」ボタンは選択されていませんが、上記のようにディレクトリが設定された「その他」オプションが選択されています。

テストモジュールがたくさんある場合、この「デフォルト」ボタンを手動で選択するのはちょっと迷惑になります。ですから、LiClipseをデフォルトで実際にそのボタンを選択するにはどうしたらいいですか?あるいは、プロジェクトディレクトリを既定で作業ディレクトリとして使用する方法はありますか?

すでに同様の質問がありましたが、満足のいく回答はありませんでした:Configuring the working directory in Eclipse 3.8.1 with PyDev-project。唯一の結論は、Eclipseのバグがデフォルトのオプションの値を設定することを許さないということでした。私の目的には必要ではありません。私はこのオプションを実際に選択したいだけです。

Eclipseには通常、私が読んだことに従って「デフォルト」オプションが選択されているように見えるので、PyDevに固有の問題かもしれません。

答えて

1

残念ながら、IDEでデフォルトを設定する方法はありません。

まだテストに関連する問題を解決するには、pytestランナーを使用することをお勧めします(インストールする必要があるかもしれません):https://pytest.org/latest/getting-started.html PyTev> PyUnit環境設定でpytestランナー)...あなたがテストを書いているpytestの方法(私が強くお勧めします)を使用していなくても、unittest.TestCaseを使ってもうまくいくはずです...

pytestを実行しているとき、 PyDevは別のロジックに従う必要があります。なぜなら、それは常に同じフォルダを使用するようなフィクスチャをロードしてロードするからです(ソースフォルダだと思いますが、ソースフォルダとプロジェクトフォルダを同じものとして使用している場合もしそうでなければ、pytestでは、セッション自動設定を作成することは自明ではありません。あなたがテストフォルダ階層に制約されているので、unittest.TestCaseを使って作業ディレクトリを変更するのに使用できるfixtureを使用することができます(unittest.TestCaseでこれを行うのは難しくなりますが、テストのsetUpをオーバーライドすることもできます)。

+0

私はしばらくsth elseで作業していましたので、今までは確認できませんでした。しかし、Eclipseを使って直接管理するための他の方法を見つけることができなかったので、あなたの答えは正しいと思われます。 pytestはunittestテストケースを実行することができましたが、pytestスタイルのテスト定義に切り替えました。 –

関連する問題