J'ai installé le package Microsoft.GoogleTest.v140.Windesktop.msvcstl.static.rt-Dyn dans ma solution d'application VS 2017. Cela a été accompli en ajoutant un nouveau projet GoogletSTest à ma solution via "Ajouter un nouveau projet / autre langues / C ++ / Test / test".
Les tests fonctionnent bien, mais maintenant je suis prêt à essayer des moqueurs avec Gmock. Donc, j'ai installé GoogleMock.v140.windesktop.static.rt-dyn de Nuget, mais je n'ai aucune idée de la façon de l'obtenir intégré à mon projet de test. P>
Mes packages.config ressemble à ceci:
<?xml version="1.0" encoding="utf-8"?> <packages> <package id="googlemock.v140.windesktop.static.rt-dyn" version="1.7.0.1" targetFramework="native" /> <package id="Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn" version="1.8.0" targetFramework="native" /> </packages>
3 Réponses :
Je suis tombé sur une réponse à ma propre question. Après avoir installé Gmock via Nuget, j'ai essayé de saisir
#include "gtest \ gtest.h" #include "gtest \ gmock.h" test (testcasename, testName) {attendu_eq (1, 1); Attendu_true (vrai); } int main (int argc, char ** argv) {:: Test :: initgooglemememock (& argc, argv); }
TLDR; La solution pour moi a été de renommer le dossier Inclure fourni avec Google Mock Package P>
de: p>
à p>
J'ai exactement la même situation ici (version des ensembles de paquets), mais j'ai été résolue d'une autre manière (puisque la solution de @ r.evans n'a pas fonctionné). P>
J'ai remarqué que l'ouverture du package Google Mock Il existe un dossier appelé En outre, tous les en-têtes Google Mock utilisent packages \ googlemock.v140.windesktop.static.rt-dyn.1.7.0.1 \ build \ native \ include \ gtest code> p> p>
packages \ googlemock.v140.windesktop.static.rt-dyn.1.7.0.1 \ build \ natif \ include \ gmock code> p> p>
GTEST code> au lieu de
gmock code>, et ce nom est masquant em> google Paquet de test. Désinstaller un, vous pouvez voir em> l'autre dans le chemin Inclure. P>
Gmock CODE> comme chemin principal de leurs en-têtes, donc avec le dossier d'en-tête appelé
GTEST code> Visual Studio rapporte des tonnes d'erreurs même dans Google. Code Source simulé. P>
Avoir à faire semblable après #include "gtest / gmock.h", comme gmock.h utilise #include "gmock / gmock-actions.h". Quelqu'un publie le paquet sans le tester.
Il y a quelques mauvais test Google Test / Google Mock Packages disponibles sur Nuget, tel que celui référencé par cette question. Celui que vous voulez est The Gmock Package Autorité par Google Inc (version v1.8.1 à ce sujet écrire) Simplement en ajoutant p> comme mentionné dans le documentation . p> p>
Je devais fermer et rouvrir le .sln pour que Gmock soit trouvé, même s'il l'a montré dans mes packages.Config.