Fantastisk!
Completion rate forbedret til 3.13single
Brug af Assert-metoder i Unittest: Validering af Testresultater
Stryg for at vise menuen
assert-metoderne er en del af unittest.TestCase-klassen og bruges til at kontrollere betingelser i dine tests.
Kort sagt afsluttes hver testmetode i Test-klassen med en erklæring som self.assert.
Almindeligt anvendte assert-metoder
| 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) er True | assertTrue(isinstance(123, int)) |
| assertFalse(x) | bool(x) er False | assertFalse(isinstance("hello", int)) |
| assertIs(a, b) | a er b | a = 1, b = a |
| assertIsNone(x) | x er None | book.price = None |
| assertIn(a, b) | a i b | assertIn(2, [1, 2, 3]) |
| assertIsInstance(a, b) | isinstance(a, b) | assertIsInstance(123, int) |
Desuden bruges assertRaises(Error, func, *args, **kwargs) til at teste, at en fejl bliver udløst. For eksempel:
with self.assertRaises(ValueError):
int("xyz")
Dette kontrollerer, at konvertering af "xyz" til et heltal udløser ValueError.
Swipe to start coding
Din opgave er at øve dig i at bruge forskellige assert-metoder i unittest-frameworket. Fuldfør TestFunctions-klassen ved at skrive separate testmetoder for hver af de følgende kontroller. Brug de præcise metodenavne, der er angivet nedenfor, til hver kontrol.
- Kontroller at
add(2, 3)returnerer5ved hjælp afassertEqual. Navngiv metoden:test_add_equal. - Kontroller at
add(2, 2)ikke returnerer5ved hjælp afassertNotEqual. Navngiv metoden:test_add_not_equal. - Kontroller at
is_even(4)returnererTrueved hjælp afassertTrue. Navngiv metoden:test_is_even_true. - Kontroller at
is_even(5)returnererFalseved hjælp afassertFalse. Navngiv metoden:test_is_even_false. - Kontroller at resultatet af
get_item([10, 20, 30], 1)er det samme objekt som20ved hjælp afassertIs. Navngiv metoden:test_get_item_is. - Kontroller at
get_item([1, 2, 3], 10)returnererNoneved hjælp afassertIsNone. Navngiv metoden:test_get_item_is_none. - Kontroller at
2findes i listen[1, 2, 3]ved hjælp afassertIn. Navngiv metoden:test_in_list. - Kontroller at resultatet af
add(1, 2)er en instans afintved hjælp afassertIsInstance. Navngiv metoden:test_add_is_instance.
Skriv én testmetode for hver kontrol og brug kun de angivne metodenavne ovenfor. Hver testmetode skal kun bruge én assert-metode.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat