2

Eclipse Juno に C++ プロジェクトがあり、Boost Unit Test Framework を使用しています。正式な単体テストは初めてなので、まだワークフローに取り組んでいます。

私のワークスペースには 2 つのプロジェクトが含まれています。

(1) 私の C++ プロジェクト

(2) (1)のクラスをテストする単体テストプロジェクト

各単体テストを作成するときに、必要なディレクトリとファイルを (1) から (2) に仮想ディレクトリとしてインポートします。

これはソース ファイルでは問題なく機能しますが、ヘッダー ファイルでは機能しないようです。

たとえば、 unit_test.cpp をコンパイルする

#include "foo/bar.h"

戻り値

../unit_tests.cpp:8:30: error: foo/bar.h: No such file or directory

その中に仮想ディレクトリ fooがありますがbar.h

Eclipse の "Open Declaration" コマンド (F3) を使用する#include "foo/bar.h"と、ファイルが開かれますが、実際にはフォルダーに存在しないため、コンパイラーはファイルを見つけることができません (推測)。

コンパイラが非仮想ディレクトリ パスを使用して「実際の」ソース ファイルをコンパイルしていることに気付きましたが、明らかにこれはヘッダー ファイルに対して自動的に行われません。

ワークスペース参照インクルード パスをコンパイラに追加することで問題を解決しました。たとえば ${workspace_loc:/my C++ Project}、これで問題は解決しましたが、とにかく実際のファイルへの参照を作成する必要があるときに、仮想ファイルを使用する意味は何ですか?

私の質問は次のとおりです。

(*) これは良いワークフローですか?

(*) ワークフローを改善するにはどうすればよいですか?

(*) 他の人はどのように Eclipse/IDE を使用して単体テストを管理していますか?

4

0 に答える 0