Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bruk av Assert-metoder i Unittest: Validering av Testresultater | Beherske Unittest-rammeverket
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Strukturert Programmering

bookBruk 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

MethodCheckExample
assertEqual(a, b)a == bassertEqual(sum([1, 2, 3]), 6)
assertNotEqual(a, b)a != bassertNotEqual(1, 2)
assertTrue(x)bool(x) is TrueassertTrue(isinstance(123, int))
assertFalse(x)bool(x) is FalseassertFalse(isinstance("hello", int))
assertIs(a, b)a is ba = 1, b = a
assertIsNone(x)x is Nonebook.price = None
assertIn(a, b)a in bassertIn(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.

Oppgave

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) returnerer 5 ved bruk av assertEqual. Navn på metode: test_add_equal.
  • Kontroller at add(2, 2) ikke returnerer 5 ved bruk av assertNotEqual. Navn på metode: test_add_not_equal.
  • Kontroller at is_even(4) returnerer True ved bruk av assertTrue. Navn på metode: test_is_even_true.
  • Kontroller at is_even(5) returnerer False ved bruk av assertFalse. Navn på metode: test_is_even_false.
  • Kontroller at resultatet av get_item([10, 20, 30], 1) er det samme objektet som 20 ved bruk av assertIs. Navn på metode: test_get_item_is.
  • Kontroller at get_item([1, 2, 3], 10) returnerer None ved bruk av assertIsNone. Navn på metode: test_get_item_is_none.
  • Kontroller at 2 finnes i listen [1, 2, 3] ved bruk av assertIn. Navn på metode: test_in_list.
  • Kontroller at resultatet av add(1, 2) er en instans av int ved bruk av assertIsInstance. 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

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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?

close

bookBruk 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

MethodCheckExample
assertEqual(a, b)a == bassertEqual(sum([1, 2, 3]), 6)
assertNotEqual(a, b)a != bassertNotEqual(1, 2)
assertTrue(x)bool(x) is TrueassertTrue(isinstance(123, int))
assertFalse(x)bool(x) is FalseassertFalse(isinstance("hello", int))
assertIs(a, b)a is ba = 1, b = a
assertIsNone(x)x is Nonebook.price = None
assertIn(a, b)a in bassertIn(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.

Oppgave

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) returnerer 5 ved bruk av assertEqual. Navn på metode: test_add_equal.
  • Kontroller at add(2, 2) ikke returnerer 5 ved bruk av assertNotEqual. Navn på metode: test_add_not_equal.
  • Kontroller at is_even(4) returnerer True ved bruk av assertTrue. Navn på metode: test_is_even_true.
  • Kontroller at is_even(5) returnerer False ved bruk av assertFalse. Navn på metode: test_is_even_false.
  • Kontroller at resultatet av get_item([10, 20, 30], 1) er det samme objektet som 20 ved bruk av assertIs. Navn på metode: test_get_item_is.
  • Kontroller at get_item([1, 2, 3], 10) returnerer None ved bruk av assertIsNone. Navn på metode: test_get_item_is_none.
  • Kontroller at 2 finnes i listen [1, 2, 3] ved bruk av assertIn. Navn på metode: test_in_list.
  • Kontroller at resultatet av add(1, 2) er en instans av int ved bruk av assertIsInstance. 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

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
single

single

some-alt