How to Configure GoogleMock in Visual Studio 2017 After Already Installing GoogleTest?

前端 未结 3 1105
不思量自难忘°
不思量自难忘° 2021-01-18 00:05

I installed the Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn package into my VS 2017 application solution. This was accomplished by adding a new GoogleTest pr

相关标签:
3条回答
  • 2021-01-18 00:31

    There are some bad Google Test / Google Mock packages available on NuGet, such as the one referenced by this question. The one you want is the gmock package authored by Google Inc (version v1.8.1 as of this writing).

    Once this package has been installed, your project's packages.config should look like:

    <?xml version="1.0" encoding="utf-8"?>
    <packages>
      <package id="gmock" version="1.8.1" targetFramework="native" />
    </packages>
    

    And you can begin using GMock simply by adding

    #include "gmock\gmock.h"
    

    as mentioned in the documentation.

    0 讨论(0)
  • 2021-01-18 00:32

    TLDR; The solution for me was renaming the include folder provided with Google Mock package

    from:

    packages\googlemock.v140.windesktop.static.rt-dyn.1.7.0.1\build\native\include\gtest

    to

    packages\googlemock.v140.windesktop.static.rt-dyn.1.7.0.1\build\native\include\gmock


    I've the exact same situation here (same packages version), but I've solved in another way (since the solution from @R.Evans didn't work).

    I've noticed that opening the Google Mock package there is a folder called gtest instead of gmock, and this name is hiding Google Test package. Uninstalling one, you can see the other one in the include path.

    Moreover all Google Mock headers are using gmock as main path for their headers, so with the header folder called gtest Visual Studio is reporting tons of errors even in the Google Mock source code.

    0 讨论(0)
  • 2021-01-18 00:44

    I stumbled upon an answer to my own question. After installing gmock via NuGet, I tried keying #include "gmock/gmock.h" in my test project's .cpp just under the #include "gtest/gtest.h". That did not work. I looked in the "External Dependencies" folder for any reference to gmock but did not find one. I was stumped until I replaced #include "gmock/gmock.h" with #include "gtest/gmock.h". There were no errors generated at that point. I looks like I am on my way to doing some google type mocks.

    0 讨论(0)
提交回复
热议问题