# Tests

Tests sind essentieller Bestandteil der Entwicklung.
Weil die meisten Tests repetitiv sind, bietet es sich an, Tests zu automatisieren.
PHP bzw. Laravel bringt einige Möglichkeiten zum automatisierten Test mit sich.

# Stand der Tests bei PM

Der aktuelle Stand (1.9.2024) unserer Testsuits:

  • DuskTests (E2E)
    • DuskTests-E2E-1.9.2024
  • PestTests (Unit/View/Feature/Integration)
    • PestTests-Integration_Unit-1.9.2024

# Testübersicht

testing-overview

Wir setzten die vier Stufen mit folgender Software um:

  1. Static Test
  2. Unit Test
  3. Integration Test
  4. End-to-End Test

Zusätzlich werden noch weitere Dinge getestet:

# Test-Coverage

Die sogenannte Testcoverage bildet ab, wie groß der Anteil der Codebasis ist, die getestet wird.
Aktuell (Nova ausgenommen) haben wir folgende Werte:

  • art test --coverage (TestCoverage)
    • Pest-TestCoverage-1.9.2024
  • art test --type-coverage (TypeCoverage)
    • Pest-TypeCoverage-1.9.2024

# parallele Pest Tests

Seit PestPHP Version 2 kann man die Test parallel ausführen lassen (mit der Flag --parallel).
Dies funktioniert leider noch nicht im CI-Job.

# langsame Pest Tests

Durch Pest Version 2 ist eine --profile-option bei Pest (opens new window) verfügbar.
Hier sind die top 5 langsamsten Pest Tests:

profile-option-pest-test

*2.7.1 Static Test
*2.7.2 View Test
*2.7.3 Unit Test
*2.7.4 Feature Test
*2.7.5 Integration Test
*2.7.6 End_to_End Test
*2.7.7 Security Test
*2.7.8 Performance Test
*2.7.9 Syntax Test

# übergeordnetes Thema

  1. Technische Informationen
Last Updated: 9/2/2024, 5:00:23 PM