Frage

Die beiden offensichtlichen Orte, die ich denken kann, würde sich direkt neben dem Code eine Art „Test“ Ordner arbeite ich an. So etwas wie:

\project-code
    \my-feature
        \production-code
        \testing
            ***my tests***
    \co-workers-feature
        \production-code
        \testing

Oder ich könnte den Testcode eine völlig getrennte Hierarchie aufgeteilt werden. So etwas wie:

\project-code
    \my-feature
    \co-workers-feature
\testing-project-code
    \my-feature
        ***my tests***
    \co-workers-feature

Ich habe eine Menge von Frameworks den zweiten Ansatz verwenden gesehen, aber vor kurzem haben wir unseren Testcode innerhalb des Produktionscode meist aus Bequemlichkeit worden setzen. Ist ein Ansatz, viel besser als die andere, oder gibt es eine bewährte Methode, denn hier?

War es hilfreich?

Lösung

Ich verwende die zweite Option. Das bedeutet, dass ich den Code ohne die Tests versenden kann, wenn nötig. Auch aus der Betrachtung der Klasse oder Paket, das ich weiß, wo die Unit-Tests für sie sind.

Hier ist eine weitere Frage:

Haben Sie Unit-Tests in derselben setzen oder ein anderes Projekt?

Andere Tipps

Sie Setzen, wo es für Sie am bequemsten ist. Sie können Ihr Build-System entfernen sie aus dem Endprodukt, falls gewünscht eingestellt. Testen ist ein „best practice“. Alles, was einfach Testen einfacher ohne Verringerung ihrer Wirksamkeit macht auf einem bewährten Verfahren zu verbessern.

Ich ziehe es Unit-Tests der Nähe zu halten. Ich habe die Option 1 Arbeit gut zu sehen. Für ein kleines Projekt, arbeiten beiden Ansätze in Ordnung, aber da das Projekt größer und größer wird, ist es schwieriger zu finden und die Tests zu erhalten, wenn sie in einem ganz anderen Teil des Baumes leben. Wenn sie in der Nähe sind, sie zu verändern wird natürlich, wenn Sie den Produktcode ändern. Wenn sie weit weg sind, dauert es mehr geistige Anstrengung und wird mehr ignoriert werden. Dies bedeutet eine größere Chance, dass sie nicht mehr synchron sein werden.

Man beachte, dass diese Sie ein Make-System tun müssen, um die für die bedingte Kompilierung der Tests Verzeichnisse ermöglicht. Sie wollen nicht, sich jedes Mal zu bauen haben. Wenn Sie nicht, dass ein eigener Baum könnte erforderlich sein, erhalten können.

Wenn sie eine Website, die Sie steuern, dann ist es nicht schaden, es zu haben alle im selben Ordner. Wenn seine klassische Software, die Sie lösen dann neigt es gute Praxis zu sein, um es zu haben seperate wie im Fall 2, so dass Sie nicht versehentlich jedes aufblähen verursachen können, wenn Sie freigeben.

Für mich macht die erste Option mehr Sinn, vor allem aus einer SCM Sicht: Produktionscode und Testcode synchron schön gehalten (wie sie sollen), und wenn Sie Ihr Projekt markieren, oder verzweigen, Sie markieren oder Zweig sowohl die Produktion und Test-Code in der gleichen Zeit (wie sie sollten).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top