Bruk av Assert-metoder i Unittest: Validering av Testresultater
assert-metodene er en del av unittest.TestCase-klassen og brukes til å kontrollere betingelser i testene dine.
Kort sagt avsluttes hver testmetode i Test-klassen med en setning som self.assert.
Vanlig brukte 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) 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) |
I tillegg brukes assertRaises(Error, func, *args, **kwargs) for å teste at en feil oppstår. For eksempel:
with self.assertRaises(ValueError):
int("xyz")
Dette kontrollerer at konvertering av "xyz" til heltall utløser ValueError.
Swipe to start coding
Din oppgave er å øve på bruk av ulike assert-metoder i unittest-rammeverket. Fullfør TestFunctions-klassen ved å skrive separate testmetoder for hver av følgende kontroller. Bruk nøyaktig de metodenavnene som er gitt nedenfor for hver kontroll.
- Kontroller at
add(2, 3)returnerer5ved bruk avassertEqual. Navn på metode:test_add_equal. - Kontroller at
add(2, 2)ikke returnerer5ved bruk avassertNotEqual. Navn på metode:test_add_not_equal. - Kontroller at
is_even(4)returnererTrueved bruk avassertTrue. Navn på metode:test_is_even_true. - Kontroller at
is_even(5)returnererFalseved bruk avassertFalse. Navn på metode:test_is_even_false. - Kontroller at resultatet av
get_item([10, 20, 30], 1)er det samme objektet som20ved bruk avassertIs. Navn på metode:test_get_item_is. - Kontroller at
get_item([1, 2, 3], 10)returnererNoneved bruk avassertIsNone. Navn på metode:test_get_item_is_none. - Kontroller at
2finnes i listen[1, 2, 3]ved bruk avassertIn. Navn på metode:test_in_list. - Kontroller at resultatet av
add(1, 2)er en instans avintved bruk avassertIsInstance. Navn på metode:test_add_is_instance.
Skriv én testmetode for hver kontroll og bruk kun de spesifiserte metodenavnene ovenfor. Hver testmetode skal kun bruke én assert-metode.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain the difference between assertEqual and assertIs?
What happens if an assertion fails in a test?
Can you give more examples of using assertRaises?
Fantastisk!
Completion rate forbedret til 3.13
Bruk av Assert-metoder i Unittest: Validering av Testresultater
Sveip for å vise menyen
assert-metodene er en del av unittest.TestCase-klassen og brukes til å kontrollere betingelser i testene dine.
Kort sagt avsluttes hver testmetode i Test-klassen med en setning som self.assert.
Vanlig brukte 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) 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) |
I tillegg brukes assertRaises(Error, func, *args, **kwargs) for å teste at en feil oppstår. For eksempel:
with self.assertRaises(ValueError):
int("xyz")
Dette kontrollerer at konvertering av "xyz" til heltall utløser ValueError.
Swipe to start coding
Din oppgave er å øve på bruk av ulike assert-metoder i unittest-rammeverket. Fullfør TestFunctions-klassen ved å skrive separate testmetoder for hver av følgende kontroller. Bruk nøyaktig de metodenavnene som er gitt nedenfor for hver kontroll.
- Kontroller at
add(2, 3)returnerer5ved bruk avassertEqual. Navn på metode:test_add_equal. - Kontroller at
add(2, 2)ikke returnerer5ved bruk avassertNotEqual. Navn på metode:test_add_not_equal. - Kontroller at
is_even(4)returnererTrueved bruk avassertTrue. Navn på metode:test_is_even_true. - Kontroller at
is_even(5)returnererFalseved bruk avassertFalse. Navn på metode:test_is_even_false. - Kontroller at resultatet av
get_item([10, 20, 30], 1)er det samme objektet som20ved bruk avassertIs. Navn på metode:test_get_item_is. - Kontroller at
get_item([1, 2, 3], 10)returnererNoneved bruk avassertIsNone. Navn på metode:test_get_item_is_none. - Kontroller at
2finnes i listen[1, 2, 3]ved bruk avassertIn. Navn på metode:test_in_list. - Kontroller at resultatet av
add(1, 2)er en instans avintved bruk avassertIsInstance. Navn på metode:test_add_is_instance.
Skriv én testmetode for hver kontroll og bruk kun de spesifiserte metodenavnene ovenfor. Hver testmetode skal kun bruke én assert-metode.
Løsning
Takk for tilbakemeldingene dine!
single