gmock.h non è incluso nelle dipendenze esterne del mio test Google

Aug 21 2020

Utilizzo Visual Studio 2017 su Windows 10. Ho creato un nuovo progetto di test Google per testare un altro mio progetto. #include "gtest/gtest.h"non dà errori di compilazione, ma lo #include "gmock/gmock.h"fa! Guardando all'interno della cartella delle dipendenze esterne vedo che gtest.h è lì, ma non gmock.h. Quindi, quando provo a includere mock, il compilatore mi dà questo errore: "Impossibile aprire il file incluso: 'gmock / gmock.h': nessun file o directory di questo tipo". Quando vado in Strumenti -> Estensioni e aggiornamenti , vedo che Test Adapter per Google Test ha la versione: 0.10.1.7 e le sue note di rilascio dicono che supporta Google Test V1.8.0 che ha google mock secondohttps://github.com/google/googletest/releases.

  1. Perché gmock.h non è presente? Devo aggiornare "Test Adapter for Google Test" o Google Test stesso? È perché potrei avere una versione inferiore di Google Test? Non sono nemmeno sicuro di come trovare la versione di Google Test che ho; non dice.

  2. Non dovrei usare l'adattatore di prova e invece provare a configurare l'ultima versione di googletest da solo in Visual Studio 2017?

  3. qual è il modo migliore per far funzionare gmock con la mia configurazione?

Risposte

1 rveerd Aug 25 2020 at 11:57

Per qualche motivo Visual Studio 2017 viene fornito con Google Test ma non Google Mock.

Questa domanda spiega come aggiornare il pacchetto standard a un pacchetto che include Google Mock. Tuttavia non ha funzionato per me.

L'ho risolto scaricando Google Test (incluso Google Mock) e costruendolo da solo.

Successivamente, crea un nuovo progetto di applicazione console ( non un progetto di Google Test). Modifica la configurazione per includere le directory di inclusione di Google Test e il collegamento con le librerie di Google Test. Per Google Test 1.8.1 e configurazione di debug:

  • aggiungere $(GTEST_DIR)\googletest\includee $(GTEST_DIR)\googlemock\includeper includere ulteriori directory;
  • aggiungi gtestd.lib, gmockd.libe gmock_maind.libper ulteriori dipendenze;
  • aggiungere $(GTEST_DIR)\googlemock\gtest\Debuge $(GTEST_DIR)\googlemock\Debugad altre directory della libreria.

Ecco $(GTEST_DIR)la posizione in cui hai creato Google Test. Sostituiscilo con la directory effettiva o imposta il variabele di ambiente.

Se crei l'applicazione, Visual Studios Test Explorer dovrebbe riconoscerla come un'applicazione Google Test.