9 TDD für Threads

9.1 Setup

Bei der Gestaltung einer stabilen Multithread-Anwendung können Stunden oder Tage dafür erforderlich sein, Konkurrenzbedingungen (Race Conditions) und Deadlocks aufzudecken. Lässt sich eine solche Anwendung testgetrieben entwickeln?

Natürlich geht das, allerdings ist es nicht einfach, Tests zu schreiben, die mit mehreren Threads umgehen müssen. Die Tests selbst rufen manchmal weitere Threads hervor und bringen dadurch ihre eigenen Probleme der Parallelverarbeitung mit ein.

9.2 Grundprinzipien für die testgetriebene Thread-Entwicklung

In diesem Kapitel erarbeiten wir ein Beispiel, das einige Grundprinzipien für die testgetriebene Thread-Entwicklung aufzeigt.

Trennen Sie die Thread-Logik von der Anwendungslogik. Für ein ...

Get Testgetriebene Entwicklung mit C++ now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.