Wer kennt es nicht? Ihr habt ein Refactoring mit dem Ergebnis durchgeführt, dass eure Tests nicht mehr durchlaufen. In React kommt die zusätzliche Herausforderung hinzu, dass sich euer User Interface aus verschiedenen Komponenten zusammensetzt. Auf den ersten Blick scheint es daher naheliegend, diese Komponenten mittels Unit-Tests isoliert zu testen. Allerdings kann diese Vorgehensweise zu unerwünschten Problemen führen. Die Testergebnisse sind bedingt aussagekräftig und führen somit zu wenig Sicherheit. Außerdem führt die starke Kopplung zwischen Tests und Implementierung der Komponenten zu unnötig teuren Refactorings.
Bei UXMA ist es unser Anliegen, in allen Aspekten der Produktentwicklung, auch dem Testen, nutzerzentriert vorzugehen. Wir schreiben Tests, die das Nutzerverhalten widerspiegeln und uns die Sicherheit geben, dass unsere Anwendung erwartungsgemäß funktioniert. In meinem Vortrag betrachten wir, wie derartige Tests mithilfe von react-testing-library geschrieben werden. Wie strukturiere ich meine Tests und was sollte getestet werden? Und ist Test-driven Development (TDD) in React möglich oder sogar sinnvoll?