Ihre Nachricht ist sehr wichtig für uns. Einer unserer Experten wird Sie innerhalb der nächsten 1-2 Werktage kontaktieren, um Ihre Anfrage zu besprechen oder bei Bedarf weitere Informationen anzufordern.
In der Zwischenzeit möchten Sie sich vielleicht über Folgendes informieren:
Sie haben nun den Infopulse-Newsletter abonniert. Bitte halten Sie gelegentlich Ausschau nach unseren E-Mails (und vergessen Sie nicht, auch Ihren Spam-Ordner zu checken).
In der Zwischenzeit möchten Sie sich vielleicht über Folgendes informieren:
Unser Blog
Erfahren Sie mehr über neue Ideen und bewährte Praktiken in der IT-Welt. Weiterlesen >
* Required fields
Your privacy is important to us. We will never share your data.
Thank you!
Dear %name%,
Thank you for your interest in our vacancies. You will receive weekly notifications based on your career preferences. We are looking forward to getting in touch with you.
Sie haben nun den Infopulse-Newsletter abonniert. Bitte halten Sie gelegentlich Ausschau nach unseren E-Mails (und vergessen Sie nicht, auch Ihren Spam-Ordner zu checken).
In der Zwischenzeit möchten Sie sich vielleicht über Folgendes informieren:
Ihre E-Mail ist sehr wichtig für uns. Unser Experte bzw. unsere Expertin wird Sie innerhalb der nächsten 1-2 Werktage kontaktieren, um Ihr Anliegen im Detail zu besprechen.
In der Zwischenzeit möchten Sie sich vielleicht über Folgendes informieren:
Google Test ist ein Framework von Google für Modultests des C++-Codes. Die gesamte Architektur ähnelt etwas den konventionellen boost::test und CppUnit, wobei die Details ziemlich unterschiedlich ausfallen (zum jeweiligen Vorteil, wie ich glaube). Ich werde kurz das Hallo-Welt-Programm bei Google Test beschreiben und dabei auf einige potenzielle Probleme hinweisen, denen Sie begegnen können, während Sie Google Test bei der Entwicklung für Visual Studio verwenden.
Es gibt zwei Dateien gtest.sln und gtest-md.sln im Ordner guest -1.6.0/msvc. Es handelt sich hierbei um Solution-Dateien von Visual Studio. Sie unterscheiden sich in den Kompilierungsoptionen: gtest.sln erstellt einen Code mit /MT und gtest-md.sln mit /MD. Wenn Sie nicht wissen, was wofür verwendet wird, können Sie zum Beispiel hier oder hier nachlesen. Sie sollten die gleiche Variante kompilieren, wie im Projekt, das Sie testen wollen. Es ist wichtig, damit Sie keine vielen sonderbaren Verknüpfungsfehler haben. Sie können die Einstellungen, die für Ihr Projekt verwendet werden, hier überprüfen:
Google-Test-Code kann mit Visual Studio 2008/2010 erfolgreich kompiliert werden (ich habe keine anderen Versionen ausprobiert). Am Ende erhalten Sie die Dateien gtestd.lib\gtest.lib (für die Debug- und Release-Konfigurationen). Das ist auch schon die ganze Kompilierung.
Hallo Welt
Öffnen Sie die Solution-Dateien, die Sie testen werden. Erstellen Sie ein neues Projekt (C++-Konsolenanwendung).
Erstellen Sie in diesem Projekt eine Abhängigkeit von den Bibliotheken, die im zweiten Schritt (gtestd.lib\gtest.lib) kompiliert wurden, den Pfad zum Include-Ordner bei Google Test, Abhängigkeiten für die Projekte in Ihner Lösung, die Sie testen warden..
Schreiben Sie den folgenden Code in der Hauptdatei des Testprojekts:
Hier testen wir ein Rechteck auf die Richtigkeit der Kreislinienberechnung. Schauen Sie nur, wie bequem es ist: Es besteht die Notwendigkeit, weder jeden Test in der Hauptfunktion anzumelden, noch Testmethoden in den Include-Dateien niederzuschreiben.
Starten Sie das Testprojekt. Beachten Sie bitte Folgendes:
Probleme:
Nummer 1
Irren Sie sich nicht bei der Auswahl der Solution-Datei im zweiten Schritt. Wenn Sie einen Fehler machen und es vergessen, dann wird es praktisch unmöglich sein, den Fehler zu finden.
Nummer 2
Wenn Sie den Plan verfolgen, die Haupttestanwendung in verschiedenen Projekten zu platzieren, werden Sie mit einem heiklen Nebeneffekt konfrontiert. Der Punkt ist, dass die Google-Modultests praktisch Kompilierzeitklassen sind, und der Visual-C++-Compiler mit einem internen Bug wird diese Klassen im Laufe der Kompilierung einfach ausschließen. Um den Fehler zu vermeiden, verwenden Sie die hier beschriebene Methode.
Nummer 3
Denken Sie daran, die Kompilierklassenbibliotheken nicht nur zu den Abhängigkeiten des zu testenden Projekts hinzuzufügen, sondern auch zu den Referenzen, sonst wird es Verknüpfungsfehler geben.