Heim  >  Artikel  >  Web-Frontend  >  Erfahren Sie mehr über Unit-Tests und automatisierte Tests in JavaScript

Erfahren Sie mehr über Unit-Tests und automatisierte Tests in JavaScript

PHPz
PHPzOriginal
2023-11-04 14:54:321156Durchsuche

Erfahren Sie mehr über Unit-Tests und automatisierte Tests in JavaScript

Als weit verbreitete Programmiersprache spielt JavaScript eine sehr wichtige Rolle im Internetbereich. Im Prozess der Softwareentwicklung ist das Testen ein unverzichtbarer Bestandteil. Da Projekte größer und komplexer werden, werden manuelle Tests immer zeitaufwändiger und fehleranfälliger. Daher erhalten Unit-Tests und automatisierte Tests immer mehr Aufmerksamkeit. In diesem Artikel werden Leser mit spezifischen Codebeispielen in Unit-Tests und automatisierte Tests in JavaScript eingeführt.

1. Unit-Testing

Unit-Testing bezieht sich auf den Prozess der Überprüfung und Verifizierung der kleinsten testbaren Einheit in der Software. In JavaScript kann die kleinste testbare Einheit eine Funktion, Methode, Klasse usw. oder ein kleiner Codeabschnitt sein. Der Zweck des Unit-Tests besteht darin, die Richtigkeit und Stabilität des Codes zu überprüfen und potenzielle Probleme im Code zu finden.

Nehmen wir das Jest-Framework als Beispiel, um Unit-Tests in JavaScript einzuführen.

  1. Jest installieren

Zuerst müssen wir Jest im Projekt installieren. Sie können den Befehl npm verwenden, um ihn zu installieren. Der Befehl lautet wie folgt:

npm install jest --save-dev

Unter anderem fügt --save-dev Jest zu den Entwicklungsabhängigkeiten hinzu.

  1. Testfälle schreiben

Als nächstes müssen wir Testfälle schreiben. Angenommen, wir haben das folgende Additionsmodul:

function add(a, b) {
return a + b;
}

Wir müssen Testfälle schreiben, um die Richtigkeit dieses Moduls zu testen. Im Stammverzeichnis des Projekts erstellen wir eine Datei namens add.test.js mit dem folgenden Code:

const add = require('./add');

test('addiert 1 + 2, um 3 zu ergeben', ( ) => {
Expect(add(1, 2)).toBe(3);
});

test('addiert -1 + 2, um 1 zu ergeben', () => {
Expect(add (-1, 2)).toBe(1);
});

test('addiert 0,1 + 0,2, um 0,3 zu ergeben', () => {
Expect(add(0.1, 0.2)).toBeCloseTo( 0.3);
});

Im Testfall verwenden wir die test()-Anweisung, um den Namen des Testfalls und die Testfunktion zu definieren. In der Testfunktion verwenden wir die Anweisungen „expect()“ und „toBe()“, um die Richtigkeit des Codes zu überprüfen. Die toBe()-Anweisung wird zum Vergleichen der Gleichheit und die toBeCloseTo()-Anweisung zum Vergleichen der Nähe verwendet. Der Befehl zum Ausführen des Testfalls lautet wie folgt:

npm test

Das Ausführungsergebnis ist in der folgenden Abbildung dargestellt:

Der Testfall wird erfolgreich ausgeführt und unser Code kann ordnungsgemäß ausgeführt werden. Auf diese Weise können wir Code mit Zuversicht veröffentlichen!

2. Automatisiertes Testen

Automatisiertes Testen bezieht sich auf den Prozess des Testens von Software mithilfe von Skripten, Tools usw. Im Vergleich zu manuellen Tests bieten automatisierte Tests die Vorteile von Geschwindigkeit, Genauigkeit und Wiederholbarkeit und können die Effizienz und Qualität der Tests erheblich verbessern. Auch in JavaScript ist automatisiertes Testen sehr wichtig.

Nehmen wir Selenium und ChromeDriver als Beispiele, um automatisierte Tests in JavaScript einzuführen.

  1. Selenium und ChromeDriver installieren

Zuerst müssen wir Selenium und ChromeDriver im Projekt installieren. Sie können den Befehl npm verwenden, um ihn zu installieren. Der Befehl lautet wie folgt:

npm install selenium-webdriver chromedriver --save-dev

Unter diesen ist selenium-webdriver die JavaScript-Implementierung von Selenium und chromedriver die JavaScript-Implementierung von ChromeDriver.

  1. Schreiben Sie ein Testskript

Als nächstes müssen wir ein Testskript schreiben. Angenommen, wir haben das folgende Anmeldemodul:

Funktion login(Benutzername, Passwort) {
if (Benutzername === 'admin' && Passwort === 'admin') {

return true;

} else {

return false;

}
}

Wir müssen ein Testskript schreiben, um die Richtigkeit dieses Moduls zu testen. Im Stammverzeichnis des Projekts erstellen wir eine Datei namens login.spec.js mit dem folgenden Code:

const { Builder, By, Key, Until } = require('selenium-webdriver');

(async function loginTest( ) {
let drivers = waiting new Builder().forBrowser('chrome').build();
try {

await driver.get('http://example.com/login');
await driver.findElement(By.name('username')).sendKeys('admin', Key.TAB);
await driver.findElement(By.name('password')).sendKeys('admin', Key.RETURN);
await driver.wait(until.titleIs('My Dashboard'), 1000);
console.log('Test passed!');

} endlich {

await driver.quit();

}
})();

Im Testskript haben wir Verwenden Sie Selenium und ChromeDriver für automatisierte Tests. Wir erstellen zunächst eine Browserinstanz, öffnen dann die Anmeldeseite, geben den Benutzernamen und das Kennwort ein, springen zur Benutzeroberfläche und geben schließlich die Testdurchlaufinformationen aus. Der Befehl zum Ausführen des Testskripts lautet wie folgt:

node login.spec.js

Die Ausführungsergebnisse sind in der folgenden Abbildung dargestellt:

Das Testskript wird erfolgreich ausgeführt und unser Code kann ordnungsgemäß ausgeführt werden. Auf diese Weise können wir den Code mit Zuversicht veröffentlichen!

Zusammenfassung

In diesem Artikel werden Unit-Tests und automatisierte Tests in JavaScript vorgestellt. Unit-Tests beziehen sich auf die Inspektion und Verifizierung der kleinsten testbaren Einheit, und das Jest-Framework wird normalerweise zum Schreiben von Testfällen und zum Durchführen automatisierter Tests verwendet. Dabei handelt es sich um das Testen von Software mithilfe von Skripten, Tools usw., und normalerweise werden Selenium und ChromeDriver verwendet Testskripte schreiben und Tests durchführen. Ich hoffe, dieser Artikel kann den Lesern helfen, JavaScript-Tests zu verstehen.

Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über Unit-Tests und automatisierte Tests in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn