Boost Tests organisieren



  • Hi,

    ich bräuchte mal eure Meinungen bzw. Erfahrungen.

    Ich abreite aktuell mit VS2015.
    Ich habe eine Projektmappe mit 2 Projekten, dem engentlichen Programm, also der gesammte Code, und ein Projekt mit dem Setup.

    Jetzt möchte ich für den ganzen Code Tests Schreiben, dabei würde ich auf das Boost_Unit_test_framework setzten in verbindung mit der VS-Erweiterung um Boost test Projekte zu erstellen.

    Jetzt meine Frage. Sollte ich für das Testprojekt eine Eigene Projektmappe schaffen oder kann ich das Testprojekt auch zur bestehenden Projetkmappe hinzufügen?

    Im Netz hab ich schon gelesen man sollte es trennen, denn sonst würde bei der Auslieferung der Software auch die gesamten Tests mit ausgeliefert. Wie seht ihr das bzw wie sind da eure Erfahrungen?

    Und falls das so ein sollte, bin ich nicht durch das Setup-projet, das mir ein Setup für das Programm erstellt nicht davor geschützt dass das Testprojekt mit ausgeliefert wird?



  • Hi, ich habe mit Boost Tests jetzt noch nicht gearbeitet. Aber wenn du die Projekte ordentlich trennst, sehe ich nicht warum du dann die Tests automatisch mit auslieferst. Oder liefert ihr einfach die VS Solution aus?

    Ich würde versuchen das möglichst Eng beieinander zu halten um möglichst einfach die Tests automatisch regelmäßig von einem Buildserver ausführen zu lassen. Insbesondere wenn man evt. in Kategorien von Continues Integration u.ä. denkt.



  • Also die Testprojekte kannst und solltest du in die Projektmappe legen. Alles andere wäre blödsinnig, weil du ja beim TDD ständig zwischen Test-Projekt und zu testenden Projekt springen musst. Sobald du an einem Projekt etwas änderst, muss das andere Projekt auch kompilieren und das Test-Projekt ausgeführt werden. Auch wenn du das zu testende Projekt änderst!

    In Java habe ich die Tests sogar im selben Projekt drin! Was aber für C++ keinen Sinn macht, weil da die Sourceorganisation und main-Funktion anders behandelt wird.

    Was an die Kunden ausgeliefert wird, kannst du doch im Setup-Projekt bestimmen. Dieses Setup-Projekt weiß doch sicherlich durch deine manuelle Konfiguration, welche Dateien (EXE) in das Installer-Paket kommen? Und da kommen dann halt die Test-Dateien nicht mit rein.



  • Ok, danke ihr zwei. Ihr habt mir sehr bei einer Entscheidungsfindung geholfen 🙂