3

これが私が試したことです:

プロジェクトのプロパティで、libaries タブの下に libgtest_main.a と libgtest.a を含めました。

C++ Unit タブの実行構成で、C/C++ テストを Google Tests Runner に設定しました。

実行構成のメイン タブで、C/C++ アプリケーションは、プロジェクトのビルド中に作成されたバイナリ ファイルとして設定されます。

プロジェクトの一部としてテスト フォルダーを作成し、そこにテストを記述しました。

これは私のコードです:

#include "../src/agent.h"
#include "../src/agent.cpp"
#include "gtest/gtest.h"

TEST(AgentTest, voidConstructorWorksProperly) {
Agent testAgent = Agent();
ASSERT_EQ(0, testAgent.getBrain());
}


int main(int argc, char **argv) {
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();

}

TEST 関数で構文エラーが発生し、InitGoogleTest と RUN_ALL_TESTS で「解決できませんでした」というメッセージが表示されます。

誰かが助けてくれることを願っています-私は何時間もこれに取り組んできましたが、見逃した単純なもののようです.

4

2 に答える 2

2

同様の問題があり、このスクリプトを実行して解決しました

       ./scripts/fuse_gtest_files.py . /yourprojectdir/

これは、Google テスト フレームワークをインストールした場所 (つまり、/tmp/gtest-1.5.0) にあります。

それが最善の解決策であるかどうかはわかりませんが、私にとってはうまくいきました。

于 2013-09-04T10:27:31.487 に答える
0

私は最近、同様の問題を抱えています。

最初に構文エラーと「解決できなかった」問題を取り除くために、Eclipse で C++ インデクサーの設定を変更しました。設定の 1 つを変更し、[適用] をクリックしてから元の設定に戻してから [OK] をクリックするだけで済みました。

次に、Eclipse 内でテストを実行する場合。テストを実行する main 関数 (ユーザーが提示したもの) を含むバイナリ ファイルに実行構成を設定する必要があることに注意してください。おそらく、既にエントリ ポイントを持っている他のプロジェクトの一部としてテストを作成し、それをテストではなくバイナリに設定した場合です。2 つの主要な機能を使用してプロジェクトをビルドできなかったため、メイン アプリとテスト用に独立したビルド構成を作成するには、ソース ファイルのフィルタリングを行う必要があります。残念ながら、私はまだこれを行っています。

このブログ投稿はあなたに役立つかもしれません:

http://codetrips.blogspot.com/search/label/gtest

彼らはその話題について私を大いに助けてくれました。

于 2012-10-04T06:41:52.887 に答える