Monday, October 20, 2014

GTest: Testing framework für C++

Eines unserer Teams beginnt mit Akzeptanztests auf Basis von SpecFlow und übernimmt damit eine Vorreiterrolle! Zum Ausführen der Tests auf einer Build-VM hat ein Kollege in seinem Blog beschrieben, wie er MSTest aus VisualStudio herausgeholt hat, da die Buildmaschine oder jeder andere Entwickler nicht unbedingt auf ein komplettes VisualStudio angewiesen sein sollte.

Leider stellt sich Microsoft aktuell nicht so geschickt an wenn es um die Herausgabe einzelner in Visual Studio integrierter Komponenten wie MSTest betrifft. In .NET sind aus genau diesen Gründen Frameworks wie NUnit bzw. xUnit beliebter (vgl. http://stackoverflow.com/questions/22650263/visual-studio-2013-mstest-vs-nunit). Aber das lässt sich für C/C++ natürlich nicht verwenden.

Alternativ kann man Visual Studio komplett auf der Build-VM installieren, wie es das o.g. Team gemacht hat. Als es vor einiger Zeit daran ging, die ersten Unit-Tests zu schreiben, war ein Vorschlag GTest zu verwenden (https://code.google.com/p/googletest/).

Damals hatten wir uns allerdings der Einfachheit halber doch für MSTest entschieden - es war wichtiger, die Entwickler in der IDE mit den Tests vertraut zu machen als die Tests auf dem Buildserver ausführen zu können. Auch war GTest möglicherweise noch nicht als fertiges Paket verfügbar (NuGet).

Das hat sich in der Zwischenzeit anscheinend geändert:
  • Damit die Entwickler im Visual Studio auf dieselben Tests schauen können, gibt es das freie Plugin GoogleTest Runner für VS2013.
  • Außerdem gibt mittlerweile auch das natives NuGet Package GTest

No comments:

Post a Comment