Gebruik van Assert-Methoden in Unittest: Valideren van Testresultaten
De assert-methoden maken deel uit van de unittest.TestCase-klasse en worden gebruikt om voorwaarden in je tests te controleren.
Kort gezegd eindigt elke testmethode in de Test-klasse met een instructie zoals self.assert.
Veelgebruikte assert-methoden
| Method | Controle | Voorbeeld |
|---|---|---|
| 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) |
Daarnaast wordt assertRaises(Error, func, *args, **kwargs) gebruikt om te testen of een fout wordt opgegooid. Bijvoorbeeld:
with self.assertRaises(ValueError):
int("xyz")
Dit controleert of het converteren van "xyz" naar een integer een ValueError oplevert.
Swipe to start coding
Je taak is om te oefenen met verschillende assert-methoden in het unittest-framework. Maak de klasse TestFunctions af door afzonderlijke testmethoden te schrijven voor elk van de volgende controles. Gebruik exact de onderstaande methodenamen voor elke controle.
- Controleer dat
add(2, 3)5retourneert metassertEqual. Noem de methode:test_add_equal. - Controleer dat
add(2, 2)niet5retourneert metassertNotEqual. Noem de methode:test_add_not_equal. - Controleer dat
is_even(4)Trueretourneert metassertTrue. Noem de methode:test_is_even_true. - Controleer dat
is_even(5)Falseretourneert metassertFalse. Noem de methode:test_is_even_false. - Controleer dat het resultaat van
get_item([10, 20, 30], 1)hetzelfde object is als20metassertIs. Noem de methode:test_get_item_is. - Controleer dat
get_item([1, 2, 3], 10)Noneretourneert metassertIsNone. Noem de methode:test_get_item_is_none. - Controleer dat
2in de lijst[1, 2, 3]zit metassertIn. Noem de methode:test_in_list. - Controleer dat het resultaat van
add(1, 2)een instantie vanintis metassertIsInstance. Noem de methode:test_add_is_instance.
Schrijf één testmethode voor elke controle en gebruik alleen de hierboven gespecificeerde methodenamen. Elke testmethode mag slechts één assert-methode gebruiken.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 3.13
Gebruik van Assert-Methoden in Unittest: Valideren van Testresultaten
Veeg om het menu te tonen
De assert-methoden maken deel uit van de unittest.TestCase-klasse en worden gebruikt om voorwaarden in je tests te controleren.
Kort gezegd eindigt elke testmethode in de Test-klasse met een instructie zoals self.assert.
Veelgebruikte assert-methoden
| Method | Controle | Voorbeeld |
|---|---|---|
| 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) |
Daarnaast wordt assertRaises(Error, func, *args, **kwargs) gebruikt om te testen of een fout wordt opgegooid. Bijvoorbeeld:
with self.assertRaises(ValueError):
int("xyz")
Dit controleert of het converteren van "xyz" naar een integer een ValueError oplevert.
Swipe to start coding
Je taak is om te oefenen met verschillende assert-methoden in het unittest-framework. Maak de klasse TestFunctions af door afzonderlijke testmethoden te schrijven voor elk van de volgende controles. Gebruik exact de onderstaande methodenamen voor elke controle.
- Controleer dat
add(2, 3)5retourneert metassertEqual. Noem de methode:test_add_equal. - Controleer dat
add(2, 2)niet5retourneert metassertNotEqual. Noem de methode:test_add_not_equal. - Controleer dat
is_even(4)Trueretourneert metassertTrue. Noem de methode:test_is_even_true. - Controleer dat
is_even(5)Falseretourneert metassertFalse. Noem de methode:test_is_even_false. - Controleer dat het resultaat van
get_item([10, 20, 30], 1)hetzelfde object is als20metassertIs. Noem de methode:test_get_item_is. - Controleer dat
get_item([1, 2, 3], 10)Noneretourneert metassertIsNone. Noem de methode:test_get_item_is_none. - Controleer dat
2in de lijst[1, 2, 3]zit metassertIn. Noem de methode:test_in_list. - Controleer dat het resultaat van
add(1, 2)een instantie vanintis metassertIsInstance. Noem de methode:test_add_is_instance.
Schrijf één testmethode voor elke controle en gebruik alleen de hierboven gespecificeerde methodenamen. Elke testmethode mag slechts één assert-methode gebruiken.
Oplossing
Bedankt voor je feedback!
single