Tests javascript paramétrés avec Jest
Vous êtes-vous déjà retrouvé à écrire différents cas de test pour tester la même fonctionnalité afin de ne faire varier que les variables que vous utilisez dans votre test ?
Les tests paramétrés sont utilisés pour réexécuter le même cas de test, mais dans des conditions différentes à chaque exécution. Cela facilite la maintenance du test et évite les doublons.
Mais comment l'utiliser avec Jest ?
Les globales Jest sont livrées avec une méthode nommée eachqui permet à votre test d'être ré-exécuté, en utilisant des données différentes à chaque fois.
Cette méthode peut être utilisée en transmettant un tableau, qui sera transmis à votre fonction de test et utilisé à l'intérieur du corps de votre test.
Supposons que vous ayez une fonction d'ajout et que vous deviez la tester avec différentes valeurs, afin que vous puissiez passer dans le tableau des listes de valeurs à utiliser et le résultat attendu lors de l'utilisation de ces valeurs.
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)
})
Vous pouvez également utiliser toutes les autres méthodes de plaisanterie avec votre test paramétré, comme test.only.eachou test.skip.each.
Une dernière note est que si vous utilisez une version Jest antérieure à 23.x, vous devrez installer un package npm appelé jest-each qui vous permet d'écrire un cas de test essentiellement de la même manière que nous l'avons fait avec une version plus récente de Jest .
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































