O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

JUnit-Profiwissen

Book Description

JUnit ist die Standardbibliothek zum Schreiben automatisierter Tests in Java. Dieses Buch enthält Grundlagen- und Expertenwissen für das effiziente Entwickeln automatisierter Tests in Java mit JUnit. Es vermittelt einen kompakten Überblick über alle Features von JUnit 3.8.1 bis JUnit 4.11 und zeigt Ihnen, wann Sie diese sinnvoll einsetzen können. Der Autor behandelt weiter Open-Source-Bibiliotheken wie Mockito und FEST, die das Schreiben von JUnit-Tests erleichtern, und verdeutlicht Programmierregeln für das Schreiben richtig „guter“ Tests.

Table of Contents

  1. Vorwort
  2. Vorkenntnisse
  3. Inhaltsverzeichnis
  4. 1 Einführung
  5. 1.1 Automatisierte Tests
  6. 1.2 Der grüne Balken
  7. 1.3 Funktionale Tests
  8. 1.4 Nichtfunktionale Tests
  9. 2 JUnit 3
  10. 2.1 Testklassen
  11. 2.2 Testmethoden
  12. 2.3 Assertion-Methoden
  13. 2.4 Testfixtures
  14. 2.5 Testsuites
  15. 2.6 Zusammenfassung
  16. 3 JUnit 4
  17. 3.1 Testklassen und -methoden
  18. 3.2 Die @Test-Annotation
  19. 3.3 Assertion-Methoden
  20. 3.4 Testfixtures mit @Before- und @After-Methoden auf- und abbauen
  21. 3.5 @Rule und eigene Testaspekte
  22. 3.6 @RunWith, Parameterized und eigene Runner
  23. 3.7 Testsuites
  24. 3.8 Testtheorien
  25. 3.9 Testgruppen/Testkategorien
  26. 3.10 Tests überspringen/ignorieren
  27. 3.11 Zusammenfassung
  28. 4 Testgetriebene Entwicklung
  29. 4.1 Einmal rundherum
  30. 4.2 Einen roten Test schreiben
  31. 4.3 Den roten Test grün machen
  32. 4.4 Codereview und Refactoring
  33. 4.5 ATDD – der Kontext für TDD
  34. 4.6 Zusammenfassung
  35. 5 Assertion-Bibliotheken
  36. 5.1 Hamcrest einbinden
  37. 5.2 Ein Blick unter die Motorhaube von Hamcrest
  38. 5.3 Eigene Hamcrest-Matcher schreiben
  39. 5.4 FEST Fluent Assertions
  40. 5.5 Zusammenfassung
  41. 6 Unit-Tests mit Mock-Objekten
  42. 6.1 Terminologie
  43. 6.2 Mock-Objekte selbst schreiben
  44. 6.3 jMock
  45. 6.4 EasyMock
  46. 6.5 Mockito
  47. 6.6 Umgang mit unerwarteten Methodenaufrufen
  48. 6.7 Mock-Objekte injizieren
  49. 6.8 Mocken statischer Methoden
  50. 6.9 PowerMock
  51. 6.10 Zusammenfassung
  52. 7 Programmieren gut verständlicher Tests
  53. 7.1 Organisation und Benennung von Testklassen
  54. 7.2 Benennung von Testmethoden
  55. 7.3 Setup-Methoden
  56. 7.4 Das Test Data Builder Pattern
  57. 7.5 Der AAA-Stil
  58. 7.6 Das Page Object Pattern
  59. 7.7 Assertion-Messages
  60. 7.8 Zusammenfassung
  61. 8 Programmieren schneller Tests
  62. 8.1 Tests schneller machen
  63. 8.2 Testfixtures schneller machen
  64. 8.3 Tests zusammenfassen
  65. 8.4 Das Shared Testfixture Pattern
  66. 8.5 Tests parallel ausführen
  67. 8.6 Schnelles Feedback durch optimierte Testreihenfolge
  68. 8.7 Zusammenfassung
  69. 9 Tests abseits vom Happy Path
  70. 9.1 Exceptions im Test auslösen
  71. 9.2 Testen von Logmeldungen
  72. 9.3 Testen von Ausgaben auf System.out bzw. System.err
  73. 9.4 Testen von System.exit
  74. 9.5 Testen von Exceptions
  75. 9.6 Zusammenfassung
  76. 10 Nichtfunktionale Tests
  77. 10.1 Performance-Tests
  78. 10.2 Stresstests
  79. 10.3 Randomized Testing
  80. 10.4 Architekturtests
  81. 10.5 Zusammenfassung
  82. 11 JUnit und Eclipse
  83. 11.1 Wizards zum Erstellen von Testklassen
  84. 11.2 JUnit-Tests mit Eclipse ausführen
  85. 11.3 Erweiterte JUnit-Unterstützung durch das MoreUnit-Plug-in
  86. 11.4 Testabdeckung visualisieren mit EclEmma
  87. 12 JUnit und IntelliJ IDEA
  88. 12.1 Erstellen von Testklassen
  89. 12.2 JUnit-Tests mit IntelliJ IDEA ausführen
  90. 12.3 Testabdeckung visualisieren mit IntelliJ IDEA Ultimate Edition
  91. 13 JUnit und Ant
  92. 13.1 Die Ant-Tasks junit und junitreport
  93. 13.2 Testabdeckung messen mit JaCoCo
  94. 14 JUnit und Maven
  95. 14.1 JUnit-Tests mit dem Surefire-Plug-in ausführen
  96. 14.2 Tests parallel ausführen
  97. 14.3 Die Reihenfolge steuern, in der Tests ausgeführt werden
  98. 14.4 Nur bestimmte Tests ausführen bzw. bestimmte Tests ausschließen
  99. 14.5 Ausführen und Debuggen einzelner Tests
  100. 14.6 Ausführen von Integrationstests mit dem Failsafe-Plug-in
  101. 14.7 Testabdeckung mit Cobertura oder JaCoCo messen
  102. 15 Schlusswort
  103. Literaturverzeichnis
  104. Index