Brug af Assert-metoder i Unittest: Validering af Testresultater
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
Awesome!
Completion rate improved to 3.13
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