{"meta":{"title":"Generieren von Komponententests","intro":"Copilot Chat kann beim Generieren von Komponententests für eine Funktion 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/generate-unit-tests","title":"Generieren von Komponententests"}],"documentType":"article"},"body":"# Generieren von Komponententests\n\nCopilot Chat kann beim Generieren von Komponententests für eine Funktion hilfreich sein.\n\nEine gute Suite von Einheitstests ist entscheidend für den Erfolg jedes Projekts. Das Schreiben dieser Tests kann jedoch zeitaufwändig sein und wird oft vernachlässigt.\nCopilot Chat kann Ihnen helfen, diese Tests zu generieren.\n\n## Beispielszenario\n\nStelle dir vor, du verfügst über eine Python-Funktion, die Daten vor dem Aktualisieren der Datenbank überprüft. Du musst Komponententests erstellen, um zu gewährleisten, dass die Überprüfung wie erwartet funktioniert. Sie können Copilot Chat bitten, diese Tests für Sie zu generieren.\n\n```python id=validate-price\ndef validate_price(price: float):\n  if price <= 0:\n    raise ValueError(\"Price must be greater than 0\")\n  if price > 1000:\n    raise ValueError(\"Price must be less than or equal to 1000\")\n```\n\n## Beispielaufforderung\n\n```copilot copy prompt ref=validate-price\n/tests Generate unit tests for this function. Validate both success and failure, and include edge cases.\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\nWenn Sie zum ersten Mal zum Generieren von Komponententests aufgefordert werden Copilot Chat , werden Sie möglicherweise gefragt, ob Sie Komponententests für Ihr Projekt konfigurieren möchten. In diesem Beispiel wird davon ausgegangen, dass du dies nicht möchtest.\n\nCopilot stellt eine Strategie zum Generieren der Tests bereit und stellt dann die Tests selbst bereit.\n\n```python\nimport unittest\nfrom generate_unit_tests import validate_price\n\nclass TestValidateProduct(unittest.TestCase):\n  def test_price_zero(self):\n    with self.assertRaises(ValueError) as context:\n      validate_price(0)\n    self.assertEqual(str(context.exception), \"Price must be greater than 0\")\n\n  def test_price_negative(self):\n    with self.assertRaises(ValueError) as context:\n      validate_price(-10)\n    self.assertEqual(str(context.exception), \"Price must be greater than 0\")\n\n  def test_price_above_limit(self):\n    with self.assertRaises(ValueError) as context:\n      validate_price(1500)\n    self.assertEqual(str(context.exception), \"Price must be less than or equal to 1000\")\n\n  def test_price_edge_case_zero(self):\n    with self.assertRaises(ValueError) as context:\n      validate_price(0)\n    self.assertEqual(str(context.exception), \"Price must be greater than 0\")\n\n  def test_price_edge_case_max(self):\n    try:\n      validate_price(1000)\n    except ValueError:\n      self.fail(\"validate_price() raised ValueError unexpectedly!\")\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)"}