Test JavaScript parametrizzati utilizzando Jest
Ti sei mai ritrovato a scrivere casi di test diversi per testare la stessa funzionalità per variare solo le variabili che stai utilizzando nel tuo test?
I test parametrizzati vengono utilizzati per eseguire nuovamente lo stesso test case, ma in condizioni diverse a ogni esecuzione. Ciò semplifica la manutenzione del test ed evita duplicazioni.
Ma come lo uso con Jest?
Jest globals viene fornito con un metodo denominato eachche consente di eseguire nuovamente il test, utilizzando dati diversi ogni volta.
Questo metodo può essere utilizzato passando una tabella, che verrà passata nella funzione di test e utilizzata all'interno del corpo del test.
Supponiamo che tu abbia una funzione add e devi testarla con valori diversi, in modo da poter passare nella tabella elenchi di valori da utilizzare e il risultato atteso quando si utilizzano tali valori.
test.each([
[[1, 2], 3],
[[50, 51], 101],
[[10, 25], 35],
])('adds %i and expects %i', (numbers, result) => {
const [firstNumber, secondNumber] = numbers
expect(add(firstNumber, secondNumber)).toEqual(result)
})
test.each([
{first: 1, second: 2, result: 3},
{first: 50, second: 51, result: 101},
{first: 10, second: 25, result: 35},
])('adds $first and $second and expects $result', ({ first, second, result }) => {
expect(add(firstNumber, secondNumber)).toEqual(result)
})
Puoi anche utilizzare tutti gli altri metodi jest con il tuo test parametrizzato, come test.only.eacho test.skip.each.
Un'ultima nota è che se stai utilizzando una versione di Jest precedente alla 23.x dovrai installare un pacchetto npm chiamato jest-each che ti consente di scrivere un test case sostanzialmente nello stesso modo in cui lo abbiamo con una versione più recente di Jest .

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































