{"meta":{"title":"Aktualisieren von Komponententests zur Anpassung an Codeänderungen","intro":"Copilot Chat kann bei der Aktualisierung Ihrer Tests hilfreich sein.","product":"GitHub Copilot","breadcrumbs":[{"href":"/de/enterprise-cloud@latest/copilot","title":"GitHub Copilot"},{"href":"/de/enterprise-cloud@latest/copilot/tutorials","title":"Anleitungen"},{"href":"/de/enterprise-cloud@latest/copilot/tutorials/copilot-cookbook","title":"GitHub Copilot Kochbuch"},{"href":"/de/enterprise-cloud@latest/copilot/tutorials/copilot-cookbook/testing-code","title":"Testen von Code"},{"href":"/de/enterprise-cloud@latest/copilot/tutorials/copilot-cookbook/testing-code/update-unit-tests","title":"Aktualisieren von Komponententests"}],"documentType":"article"},"body":"# Aktualisieren von Komponententests zur Anpassung an Codeänderungen\n\nCopilot Chat kann bei der Aktualisierung Ihrer Tests hilfreich sein.\n\nWenn Sie Änderungen am Code vornehmen, ist es wichtig, alle Tests zu aktualisieren, um das neue Verhalten zu überprüfen und alle Fehler abzufangen, die der neue Code eingeführt hat.\nCopilot Chat kann Ihnen helfen, Tests schnell zu aktualisieren, um Ihren Codeänderungen zu entsprechen, um sicherzustellen, dass Ihre Testsuite mit Ihrer Implementierung synchronisiert bleibt.\n\n## Beispielszenario\n\nStellen Sie sich vor, Sie haben eine Python-Funktion, `calculate_discount`die den Rabatt für einen bestimmten Einkaufsbetrag bestimmt. Im ursprünglichen Code erhalten Sie einen Rabatt von 10% für Beträge über 100 $. Sie nehmen Änderungen an der Logik der Funktion vor, sodass nur Preise über 150 $ einen Rabatt von 10% erhalten, und es gibt jetzt einen Rabatt von 20% für Beträge über 200 $.\n\n### Originalcode\n\nIm ursprünglichen Code erhalten die Kaufpreise über 100 $ einen Rabatt von 10%.\n\n```python\ndef calculate_discount(amount: float) -> float:\n    if amount > 100:\n        return amount * 0.1  # 10% discount\n    return 0.0\n```\n\n### Aktualisierter Code\n\nIm geänderten Code erhalten nur Beträge über $ 150 erhalten 10% Rabatt, und Beträge über $ 200 erhalten jetzt einen Rabatt von 20%.\n\n```python id=calculate_discount\ndef calculate_discount(amount: float) -> float:\n    if amount > 200:\n        return amount * 0.2  \n    elif amount > 150:\n        return amount * 0.1\n    return 0.0\n```\n\n### Vorhandene Tests\n\nDieses Beispiel zeigt die vorhandenen Tests, die für den ursprünglichen Code geschrieben wurden.\n\n```python\nimport unittest\nfrom discount import calculate_discount\n\nclass TestCalculateDiscount(unittest.TestCase):\n    def test_discount_above_100(self):\n        # $140 should get a $14 discount (10%)\n        self.assertAlmostEqual(calculate_discount(140), 14.0)\n    \n    def test_discount_below_100(self):\n        # $80 should get no discount\n        self.assertEqual(calculate_discount(80), 0.0)\n\n    def test_discount_exactly_100(self):\n        # $100 is not above 100, so no discount\n        self.assertEqual(calculate_discount(100), 0.0)\n\nif __name__ == '__main__':\n    unittest.main()\n```\n\n## Beispielaufforderung\n\nSie können Copilot Chat bitten, alle Tests zu identifizieren und zu aktualisieren, die von Ihrer Logikänderung betroffen sind.\n\n```copilot\nGiven the update to the `calculate_discount` function, update the unit tests that may fail or become outdated as a result.\n```\n\n## Beispielantwort\n\n> \\[!NOTE] Die folgende Antwort ist ein Beispiel. Da die Copilot Chat-Antworten nicht deterministisch sind, erhältst du möglicherweise eine andere Antwort als die hier beschriebene.\n\nCopilot Chat analysiert Ihren Code und vorhandene Tests und identifiziert, welche Tests fehlschlagen oder jetzt irreführend sind, nachdem Sie die Codeänderung geändert haben.\n\nZum Beispiel erklärt Copilot Chat:\n\n* `test_discount_above_100` wird jetzt **fehlschlagen**\n* `test_discount_below_100` und `test_discount_exactly_100` werden übergeben, sind aber jetzt **irreführend**, da der Schwellenwert für den 10%-Rabatt jetzt bei $150 und nicht $100 liegt.\n\nDarüber hinaus Copilot Chat identifiziert jede **fehlende Testabdeckung**, z. B. die neue 20% Rabattstufe für Beträge über 200 $.\n\nCopilot Chat schlägt eine aktualisierte Gruppe von Tests vor.\n\n### Aktualisierte Tests\n\n```python\nimport unittest\nfrom discount import calculate_discount\n\nclass TestCalculateDiscount(unittest.TestCase):\n    def test_discount_above_200(self):\n        # $250 should get a $50 discount (20%)\n        self.assertAlmostEqual(calculate_discount(250), 50.0)\n\n    def test_discount_above_150(self):\n        # $175 should get a $17.50 discount (10%)\n        self.assertAlmostEqual(calculate_discount(175), 17.5)\n\n    def test_discount_at_or_below_150(self):\n        # $150 is not above 150, so no discount\n        self.assertEqual(calculate_discount(150), 0.0)\n        # $80 should get no discount\n        self.assertEqual(calculate_discount(80), 0.0)\n\nif __name__ == '__main__':\n    unittest.main()\n```\n\n## Weiterführende Lektüre\n\n* [Prompt-Engineering für GitHub Copilot Chat](/de/enterprise-cloud@latest/copilot/concepts/prompting/prompt-engineering)\n* [Bewährte Methoden für die Verwendung von GitHub Copilot](/de/enterprise-cloud@latest/copilot/get-started/best-practices)"}