Verwendung 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
| Method | Check | Example |
|---|---|---|
| assertEqual(a, b) | a == b | assertEqual(sum([1, 2, 3]), 6) |
| assertNotEqual(a, b) | a != b | assertNotEqual(1, 2) |
| assertTrue(x) | bool(x) is True | assertTrue(isinstance(123, int)) |
| assertFalse(x) | bool(x) is False | assertFalse(isinstance("hello", int)) |
| assertIs(a, b) | a is b | a = 1, b = a |
| assertIsNone(x) | x is None | book.price = None |
| assertIn(a, b) | a in b | assertIn(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.
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)mit5den WertassertEqualzurückgibt. Methodenname:test_add_equal. - Überprüfen, dass
add(2, 2)mit5nicht den WertassertNotEqualzurückgibt. Methodenname:test_add_not_equal. - Überprüfen, dass
is_even(4)mitTrueassertTruezurückgibt. Methodenname:test_is_even_true. - Überprüfen, dass
is_even(5)mitFalseassertFalsezurückgibt. Methodenname:test_is_even_false. - Überprüfen, dass das Ergebnis von
get_item([10, 20, 30], 1)mit20dasselbe Objekt wieassertIsist. Methodenname:test_get_item_is. - Überprüfen, dass
get_item([1, 2, 3], 10)mitNoneassertIsNonezurückgibt. Methodenname:test_get_item_is_none. - Überprüfen, dass
2in der Liste[1, 2, 3]mitassertInenthalten ist. Methodenname:test_in_list. - Überprüfen, dass das Ergebnis von
add(1, 2)mitinteine Instanz vonassertIsInstanceist. 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
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.13
Verwendung 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
| Method | Check | Example |
|---|---|---|
| assertEqual(a, b) | a == b | assertEqual(sum([1, 2, 3]), 6) |
| assertNotEqual(a, b) | a != b | assertNotEqual(1, 2) |
| assertTrue(x) | bool(x) is True | assertTrue(isinstance(123, int)) |
| assertFalse(x) | bool(x) is False | assertFalse(isinstance("hello", int)) |
| assertIs(a, b) | a is b | a = 1, b = a |
| assertIsNone(x) | x is None | book.price = None |
| assertIn(a, b) | a in b | assertIn(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.
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)mit5den WertassertEqualzurückgibt. Methodenname:test_add_equal. - Überprüfen, dass
add(2, 2)mit5nicht den WertassertNotEqualzurückgibt. Methodenname:test_add_not_equal. - Überprüfen, dass
is_even(4)mitTrueassertTruezurückgibt. Methodenname:test_is_even_true. - Überprüfen, dass
is_even(5)mitFalseassertFalsezurückgibt. Methodenname:test_is_even_false. - Überprüfen, dass das Ergebnis von
get_item([10, 20, 30], 1)mit20dasselbe Objekt wieassertIsist. Methodenname:test_get_item_is. - Überprüfen, dass
get_item([1, 2, 3], 10)mitNoneassertIsNonezurückgibt. Methodenname:test_get_item_is_none. - Überprüfen, dass
2in der Liste[1, 2, 3]mitassertInenthalten ist. Methodenname:test_in_list. - Überprüfen, dass das Ergebnis von
add(1, 2)mitinteine Instanz vonassertIsInstanceist. 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
Danke für Ihr Feedback!
single