gmock.hは私のGoogleTestの外部依存関係に含まれていません
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。
gmock.hがないのはなぜですか?「GoogleTest用テストアダプタ」またはGoogleTest自体を更新する必要がありますか?それは私がグーグルテストのより低いバージョンを持っているかもしれないからですか?自分が持っているGoogleTestのバージョンを見つける方法すらわかりません。それは言いません。
テストアダプターを使用せず、代わりにgoogletestの最新リリースを自分でVisual Studio 2017に構成してみてください。
gmockをセットアップで機能させるための最良の方法は何ですか?
回答
何らかの理由で、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.lib
、gmockd.lib
およびgmock_maind.lib
追加の依存関係に。 - 追加
$(GTEST_DIR)\googlemock\gtest\Debug
および$(GTEST_DIR)\googlemock\Debug
追加のライブラリディレクトリに。
これがGoogleTest$(GTEST_DIR)
を構築した場所です。実際のディレクトリに置き換えるか、環境変数を設定してください。
アプリケーションをビルドする場合、Visual Studios TestExplorerはそれをGoogleテストアプリケーションとして認識する必要があります。