0

CodeBlocks を使用して C++ でプログラムを記述していますが、次のことに気付きました。私のメイン クラスと 1 つの単体テスト クラスの両方が同じフォルダー (FolderName など) にあります。両方から、同じフォルダー (FileName.txt) にあるファイルを入力するメソッドを呼び出します。メインからこのように呼び出し、正常に動作します。

 obj.("FileName.txt");

テスト ファイルから、動作させるにはファイルのアドレス全体を指定する必要があります。

 obj.("/home/myName/FolderName/FileName.txt");

メインのように動作するようにユニットテストファイルを設定する方法が必要であることは知っていますが、それを理解できませんでした。これが重要かどうかはわかりませんが、Linuxで作業しています

4

1 に答える 1

1

すでにお分かりでしたら申し訳ありませんが、疑問に思われる方のためにお答えします。

CodeBlocks単体テスト用の実行可能ファイルを作成し、 に保存し/home/myName/FolderName/bin/unitTest/ます。CodeBlocks単体テストを実行すると、この実行可能ファイルが実行されます。したがって、あなたの pwd は/home/myName/FolderName/butではありません/home/myName/FolderName/bin/unitTest/

gtest を使用していますが、使用するフレームワークに関係なく、求めていることを行う方法がいくつかあります。

最適なオプションは、アドレス obj.( "../../FileName.txt")を使用することです。

もう1つのオプションは、コピーFileName.txtすること/home/myName/FolderName/bin/unitTest/です(または、ユニットテストビルドオプションに名前を付けたもの)。"FileName.txt"その後、単体テストで簡単に使用できます。

乾杯。

于 2013-03-21T03:37:43.110 に答える