gmock.hは私のGoogleTestの外部依存関係に含まれていません

Aug 21 2020

Windows10でVisualStudio 2017を使用しています。別のプロジェクトをテストするために、新しいGoogleテストプロジェクトを作成しました。#include "gtest/gtest.h"コンパイルエラーは発生しませんが、発生#include "gmock/gmock.h"します。外部依存関係フォルダーの内部を見ると、gtest.hはありますが、gmock.hはありません。したがって、モックをインクルードしようとすると、コンパイラは次のエラーを表示します:「インクルードされたファイルを開くことができません: 'gmock / gmock.h':そのようなファイルまたはディレクトリはありません」。私が入るとき- [ツール]> [拡張機能と更新は0.10.1.7とそのリリースノートには、それがモック応じグーグル持ってGoogleのテストV1.8.0をサポートして言う:私はGoogleのテストのためのテストアダプタバージョンを持っていることがわかりhttps://github.com/google/googletest/releases。

  1. gmock.hがないのはなぜですか?「GoogleTest用テストアダプタ」またはGoogleTest自体を更新する必要がありますか?それは私がグーグルテストのより低いバージョンを持っているかもしれないからですか?自分が持っているGoogleTestのバージョンを見つける方法すらわかりません。それは言いません。

  2. テストアダプターを使用せず、代わりにgoogletestの最新リリースを自分でVisual Studio 2017に構成してみてください。

  3. gmockをセットアップで機能させるための最良の方法は何ですか?

回答

1 rveerd Aug 25 2020 at 11:57

何らかの理由で、Visual Studio2017にはGoogleTestが付属していますが、GoogleMockは付属していません。

この質問では、標準パッケージをGoogleMockを含むパッケージに更新する方法について説明します。しかし、それは私にはうまくいきませんでした。

Google Test(Google Mockを含む)をダウンロードして自分でビルドすることで解決しました。

その後、(Googleテストプロジェクトではなく)新しいコンソールアプリケーションプロジェクトを作成します。構成を変更して、Google Testインクルードディレクトリを含め、GoogleTestライブラリとリンクします。Google Test 1.8.1およびデバッグ構成の場合:

  • 追加$(GTEST_DIR)\googletest\includeおよび$(GTEST_DIR)\googlemock\includeディレクトリが含まれ、追加します。
  • 追加gtestd.libgmockd.libおよびgmock_maind.lib追加の依存関係に。
  • 追加$(GTEST_DIR)\googlemock\gtest\Debugおよび$(GTEST_DIR)\googlemock\Debug追加のライブラリディレクトリに。

これがGoogleTest$(GTEST_DIR)を構築した場所です。実際のディレクトリに置き換えるか、環境変数を設定してください。

アプリケーションをビルドする場合、Visual Studios TestExplorerはそれをGoogleテストアプリケーションとして認識する必要があります。