Utilizzo 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
| 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) |
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.
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)restituisca5utilizzandoassertEqual. Nome del metodo:test_add_equal. - Verifica che
add(2, 2)non restituisca5utilizzandoassertNotEqual. Nome del metodo:test_add_not_equal. - Verifica che
is_even(4)restituiscaTrueutilizzandoassertTrue. Nome del metodo:test_is_even_true. - Verifica che
is_even(5)restituiscaFalseutilizzandoassertFalse. Nome del metodo:test_is_even_false. - Verifica che il risultato di
get_item([10, 20, 30], 1)sia lo stesso oggetto di20utilizzandoassertIs. Nome del metodo:test_get_item_is. - Verifica che
get_item([1, 2, 3], 10)restituiscaNoneutilizzandoassertIsNone. Nome del metodo:test_get_item_is_none. - Verifica che
2sia presente nella lista[1, 2, 3]utilizzandoassertIn. Nome del metodo:test_in_list. - Verifica che il risultato di
add(1, 2)sia un'istanza diintutilizzandoassertIsInstance. 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
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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?
Fantastico!
Completion tasso migliorato a 3.13
Utilizzo 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
| 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) |
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.
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)restituisca5utilizzandoassertEqual. Nome del metodo:test_add_equal. - Verifica che
add(2, 2)non restituisca5utilizzandoassertNotEqual. Nome del metodo:test_add_not_equal. - Verifica che
is_even(4)restituiscaTrueutilizzandoassertTrue. Nome del metodo:test_is_even_true. - Verifica che
is_even(5)restituiscaFalseutilizzandoassertFalse. Nome del metodo:test_is_even_false. - Verifica che il risultato di
get_item([10, 20, 30], 1)sia lo stesso oggetto di20utilizzandoassertIs. Nome del metodo:test_get_item_is. - Verifica che
get_item([1, 2, 3], 10)restituiscaNoneutilizzandoassertIsNone. Nome del metodo:test_get_item_is_none. - Verifica che
2sia presente nella lista[1, 2, 3]utilizzandoassertIn. Nome del metodo:test_in_list. - Verifica che il risultato di
add(1, 2)sia un'istanza diintutilizzandoassertIsInstance. 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
Grazie per i tuoi commenti!
single