Parametrisierte Javascript-Tests mit Jest
Haben Sie schon einmal festgestellt, dass Sie verschiedene Testfälle geschrieben haben, um dieselbe Funktionalität zu testen, um nur die Variablen zu variieren, die Sie in Ihrem Test verwenden?
Parametrisierte Tests werden verwendet, um denselben Testfall erneut auszuführen, jedoch bei jedem Durchlauf unter anderen Bedingungen. Dies erleichtert die Wartung des Tests und vermeidet Doppelungen.
Aber wie verwende ich es mit Jest?
Jest Globals wird mit einer Methode namens geliefert, die es eachermöglicht, Ihren Test erneut auszuführen, wobei jedes Mal andere Daten verwendet werden.
Diese Methode kann verwendet werden, indem eine Tabelle übergeben wird, die an Ihre Testfunktion übergeben und im Hauptteil Ihres Tests verwendet wird.
Angenommen, Sie haben eine Additionsfunktion und müssen sie mit verschiedenen Werten testen, damit Sie die zu verwendenden Wertelisten und das erwartete Ergebnis bei Verwendung dieser Werte in die Tabelle übergeben können.
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)
})
Sie können auch alle anderen Scherzmethoden mit Ihrem parametrisierten Test verwenden, wie test.only.eachoder test.skip.each.
Ein letzter Hinweis ist, dass Sie, wenn Sie eine ältere Jest-Version als 23.x verwenden, ein npm-Paket namens jest-each installieren müssen , mit dem Sie einen Testfall im Grunde genauso schreiben können wie mit einer neueren Version von Jest .

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































