Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Utilizzo dei Metodi Assert in Unittest: Validazione dei Risultati dei Test | Padronanza del Framework Unittest
Programmazione Strutturale in Python

bookUtilizzo dei Metodi Assert in Unittest: Validazione dei Risultati dei Test

I metodi assert fanno parte della classe unittest.TestCase e vengono utilizzati per verificare condizioni nei test. In termini semplici, ogni metodo di test nella classe Test si conclude con un'istruzione come self.assert.

Metodi assert comunemente utilizzati

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)

Inoltre, assertRaises(Error, func, *args, **kwargs) viene utilizzato per verificare che venga sollevato un errore. Ad esempio:

with self.assertRaises(ValueError):
    int("xyz")

Questo verifica che la conversione di "xyz" in intero sollevi un ValueError.

Compito

Swipe to start coding

Il tuo compito è esercitarti nell'utilizzo dei diversi metodi assert nel framework unittest. Completa la classe TestFunctions scrivendo metodi di test separati per ciascuno dei seguenti controlli. Usa esattamente i nomi dei metodi indicati di seguito per ogni controllo.

  • Verifica che add(2, 3) restituisca 5 utilizzando assertEqual. Nome del metodo: test_add_equal.
  • Verifica che add(2, 2) non restituisca 5 utilizzando assertNotEqual. Nome del metodo: test_add_not_equal.
  • Verifica che is_even(4) restituisca True utilizzando assertTrue. Nome del metodo: test_is_even_true.
  • Verifica che is_even(5) restituisca False utilizzando assertFalse. Nome del metodo: test_is_even_false.
  • Verifica che il risultato di get_item([10, 20, 30], 1) sia lo stesso oggetto di 20 utilizzando assertIs. Nome del metodo: test_get_item_is.
  • Verifica che get_item([1, 2, 3], 10) restituisca None utilizzando assertIsNone. Nome del metodo: test_get_item_is_none.
  • Verifica che 2 sia presente nella lista [1, 2, 3] utilizzando assertIn. Nome del metodo: test_in_list.
  • Verifica che il risultato di add(1, 2) sia un'istanza di int utilizzando assertIsInstance. Nome del metodo: test_add_is_instance.

Scrivi un metodo di test per ciascun controllo e utilizza solo i nomi dei metodi specificati sopra. Ogni metodo di test deve utilizzare un solo metodo assert.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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

bookUtilizzo dei Metodi Assert in Unittest: Validazione dei Risultati dei Test

Scorri per mostrare il menu

I metodi assert fanno parte della classe unittest.TestCase e vengono utilizzati per verificare condizioni nei test. In termini semplici, ogni metodo di test nella classe Test si conclude con un'istruzione come self.assert.

Metodi assert comunemente utilizzati

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)

Inoltre, assertRaises(Error, func, *args, **kwargs) viene utilizzato per verificare che venga sollevato un errore. Ad esempio:

with self.assertRaises(ValueError):
    int("xyz")

Questo verifica che la conversione di "xyz" in intero sollevi un ValueError.

Compito

Swipe to start coding

Il tuo compito è esercitarti nell'utilizzo dei diversi metodi assert nel framework unittest. Completa la classe TestFunctions scrivendo metodi di test separati per ciascuno dei seguenti controlli. Usa esattamente i nomi dei metodi indicati di seguito per ogni controllo.

  • Verifica che add(2, 3) restituisca 5 utilizzando assertEqual. Nome del metodo: test_add_equal.
  • Verifica che add(2, 2) non restituisca 5 utilizzando assertNotEqual. Nome del metodo: test_add_not_equal.
  • Verifica che is_even(4) restituisca True utilizzando assertTrue. Nome del metodo: test_is_even_true.
  • Verifica che is_even(5) restituisca False utilizzando assertFalse. Nome del metodo: test_is_even_false.
  • Verifica che il risultato di get_item([10, 20, 30], 1) sia lo stesso oggetto di 20 utilizzando assertIs. Nome del metodo: test_get_item_is.
  • Verifica che get_item([1, 2, 3], 10) restituisca None utilizzando assertIsNone. Nome del metodo: test_get_item_is_none.
  • Verifica che 2 sia presente nella lista [1, 2, 3] utilizzando assertIn. Nome del metodo: test_in_list.
  • Verifica che il risultato di add(1, 2) sia un'istanza di int utilizzando assertIsInstance. Nome del metodo: test_add_is_instance.

Scrivi un metodo di test per ciascun controllo e utilizza solo i nomi dei metodi specificati sopra. Ogni metodo di test deve utilizzare un solo metodo assert.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2
single

single

some-alt