Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Verwendung von Assert-Methoden in Unittest: Validierung von Testergebnissen | Unittest-Framework
Quizzes & Challenges
Quizzes
Challenges
/
Python Fortgeschrittene Konzepte

bookVerwendung von Assert-Methoden in Unittest: Validierung von Testergebnissen

Die assert-Methoden sind Teil der Klasse unittest.TestCase und werden verwendet, um Bedingungen in Ihren Tests zu überprüfen. Einfach ausgedrückt endet jede Testmethode in der Testklasse mit einer Anweisung wie self.assert.

Häufig verwendete assert-Methoden

MethodCheckExample
assertEqual(a, b)a == bassertEqual(sum([1, 2, 3]), 6)
assertNotEqual(a, b)a != bassertNotEqual(1, 2)
assertTrue(x)bool(x) is TrueassertTrue(isinstance(123, int))
assertFalse(x)bool(x) is FalseassertFalse(isinstance("hello", int))
assertIs(a, b)a is ba = 1, b = a
assertIsNone(x)x is Nonebook.price = None
assertIn(a, b)a in bassertIn(2, [1, 2, 3])
assertIsInstance(a, b)isinstance(a, b)assertIsInstance(123, int)

Außerdem wird assertRaises(Error, func, *args, **kwargs) verwendet, um zu testen, ob ein Fehler ausgelöst wird. Zum Beispiel:

with self.assertRaises(ValueError):
    int("xyz")

Dies prüft, ob die Umwandlung von "xyz" in einen Integer einen ValueError auslöst.

Aufgabe

Swipe to start coding

Ihre Aufgabe ist es, verschiedene assert-Methoden im unittest-Framework zu üben. Vervollständigen Sie die Klasse TestFunctions, indem Sie für jede der folgenden Prüfungen eine eigene Testmethode schreiben. Verwenden Sie für jede Prüfung genau die unten angegebenen Methodennamen.

  • Überprüfen, dass add(2, 3) mit 5 den Wert assertEqual zurückgibt. Methodenname: test_add_equal.
  • Überprüfen, dass add(2, 2) mit 5 nicht den Wert assertNotEqual zurückgibt. Methodenname: test_add_not_equal.
  • Überprüfen, dass is_even(4) mit True assertTrue zurückgibt. Methodenname: test_is_even_true.
  • Überprüfen, dass is_even(5) mit False assertFalse zurückgibt. Methodenname: test_is_even_false.
  • Überprüfen, dass das Ergebnis von get_item([10, 20, 30], 1) mit 20 dasselbe Objekt wie assertIs ist. Methodenname: test_get_item_is.
  • Überprüfen, dass get_item([1, 2, 3], 10) mit None assertIsNone zurückgibt. Methodenname: test_get_item_is_none.
  • Überprüfen, dass 2 in der Liste [1, 2, 3] mit assertIn enthalten ist. Methodenname: test_in_list.
  • Überprüfen, dass das Ergebnis von add(1, 2) mit int eine Instanz von assertIsInstance ist. Methodenname: test_add_is_instance.

Schreiben Sie für jede Prüfung eine Testmethode und verwenden Sie nur die oben angegebenen Methodennamen. Jede Testmethode soll nur eine assert-Methode verwenden.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 2
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

bookVerwendung von Assert-Methoden in Unittest: Validierung von Testergebnissen

Swipe um das Menü anzuzeigen

Die assert-Methoden sind Teil der Klasse unittest.TestCase und werden verwendet, um Bedingungen in Ihren Tests zu überprüfen. Einfach ausgedrückt endet jede Testmethode in der Testklasse mit einer Anweisung wie self.assert.

Häufig verwendete assert-Methoden

MethodCheckExample
assertEqual(a, b)a == bassertEqual(sum([1, 2, 3]), 6)
assertNotEqual(a, b)a != bassertNotEqual(1, 2)
assertTrue(x)bool(x) is TrueassertTrue(isinstance(123, int))
assertFalse(x)bool(x) is FalseassertFalse(isinstance("hello", int))
assertIs(a, b)a is ba = 1, b = a
assertIsNone(x)x is Nonebook.price = None
assertIn(a, b)a in bassertIn(2, [1, 2, 3])
assertIsInstance(a, b)isinstance(a, b)assertIsInstance(123, int)

Außerdem wird assertRaises(Error, func, *args, **kwargs) verwendet, um zu testen, ob ein Fehler ausgelöst wird. Zum Beispiel:

with self.assertRaises(ValueError):
    int("xyz")

Dies prüft, ob die Umwandlung von "xyz" in einen Integer einen ValueError auslöst.

Aufgabe

Swipe to start coding

Ihre Aufgabe ist es, verschiedene assert-Methoden im unittest-Framework zu üben. Vervollständigen Sie die Klasse TestFunctions, indem Sie für jede der folgenden Prüfungen eine eigene Testmethode schreiben. Verwenden Sie für jede Prüfung genau die unten angegebenen Methodennamen.

  • Überprüfen, dass add(2, 3) mit 5 den Wert assertEqual zurückgibt. Methodenname: test_add_equal.
  • Überprüfen, dass add(2, 2) mit 5 nicht den Wert assertNotEqual zurückgibt. Methodenname: test_add_not_equal.
  • Überprüfen, dass is_even(4) mit True assertTrue zurückgibt. Methodenname: test_is_even_true.
  • Überprüfen, dass is_even(5) mit False assertFalse zurückgibt. Methodenname: test_is_even_false.
  • Überprüfen, dass das Ergebnis von get_item([10, 20, 30], 1) mit 20 dasselbe Objekt wie assertIs ist. Methodenname: test_get_item_is.
  • Überprüfen, dass get_item([1, 2, 3], 10) mit None assertIsNone zurückgibt. Methodenname: test_get_item_is_none.
  • Überprüfen, dass 2 in der Liste [1, 2, 3] mit assertIn enthalten ist. Methodenname: test_in_list.
  • Überprüfen, dass das Ergebnis von add(1, 2) mit int eine Instanz von assertIsInstance ist. Methodenname: test_add_is_instance.

Schreiben Sie für jede Prüfung eine Testmethode und verwenden Sie nur die oben angegebenen Methodennamen. Jede Testmethode soll nur eine assert-Methode verwenden.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 2
single

single

some-alt