Maison > interface Web > js tutoriel > le corps du texte

En savoir plus sur les tests unitaires et les tests automatisés en JavaScript

PHPz
Libérer: 2023-11-04 14:54:32
original
1155 Les gens l'ont consulté

En savoir plus sur les tests unitaires et les tests automatisés en JavaScript

En tant que langage de programmation largement utilisé, JavaScript joue un rôle très important dans le domaine Internet. Dans le processus de développement logiciel, les tests sont un élément indispensable. À mesure que les projets prennent de l'ampleur et que le code devient plus complexe, les tests manuels prennent plus de temps et sont plus sujets aux erreurs. Par conséquent, les tests unitaires et les tests automatisés reçoivent de plus en plus d'attention. Cet article présentera aux lecteurs les tests unitaires et les tests automatisés en JavaScript, avec des exemples de code spécifiques.

1. Tests unitaires

Les tests unitaires font référence au processus de vérification et de vérification de la plus petite unité testable dans le logiciel. En JavaScript, la plus petite unité testable peut être une fonction, une méthode, une classe, etc., ou un petit morceau de code. Le but des tests unitaires est de vérifier l’exactitude et la stabilité du code et de détecter les problèmes potentiels dans le code.

Prenons le framework Jest comme exemple pour introduire les tests unitaires en JavaScript.

  1. Installer Jest

Tout d'abord, nous devons installer Jest dans le projet. Vous pouvez utiliser la commande npm pour l'installer. La commande est la suivante :

npm install jest --save-dev

Parmi elles, --save-dev ajoutera Jest aux dépendances de développement.

  1. Rédaction de cas de test

Ensuite, nous devons rédiger des cas de test. Supposons que nous ayons le module d'addition suivant :

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

Nous devons écrire des cas de test pour tester l'exactitude de ce module. Dans le répertoire racine du projet, nous créons un fichier appelé add.test.js avec le code suivant :

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

test('ajoute 1 + 2 pour égaler 3', ( ) => {
expect(add(1, 2)).toBe(3);
});

test('ajoute -1 + 2 pour égaler 1', () => {
attend(ajouter (-1, 2)).toBe(1);
});

test('ajoute 0,1 + 0,2 pour égaler 0,3', () => {
expect(add(0.1, 0.2)).toBeCloseTo( 0.3);
});

Dans le scénario de test, nous utilisons l'instruction test() pour définir le nom du scénario de test et la fonction de test. Dans la fonction de test, nous utilisons les instructions expect() et toBe() pour vérifier l'exactitude du code. L'instruction toBe() est utilisée pour comparer l'égalité et l'instruction toBeCloseTo() est utilisée pour comparer la proximité. La commande pour exécuter le scénario de test est la suivante :

npm test

Le résultat de l'exécution est tel qu'indiqué dans la figure ci-dessous :

Le scénario de test s'exécute avec succès et notre code peut s'exécuter correctement. De cette façon, nous pouvons publier du code en toute confiance !

2. Tests automatisés

Les tests automatisés font référence au processus de test d'un logiciel à l'aide de scripts, d'outils, etc. Par rapport aux tests manuels, les tests automatisés présentent les avantages de la rapidité, de la précision et de la répétabilité, et peuvent considérablement améliorer l'efficacité et la qualité des tests. En JavaScript, les tests automatisés sont également très importants.

Prenons Selenium et ChromeDriver comme exemples pour introduire les tests automatisés en JavaScript.

  1. Installer Selenium et ChromeDriver

Tout d'abord, nous devons installer Selenium et ChromeDriver dans le projet. Vous pouvez utiliser la commande npm pour l'installer. La commande est la suivante :

npm install selenium-webdriver chromedriver --save-dev

Parmi eux, selenium-webdriver est l'implémentation JavaScript de Selenium et chromedriver est l'implémentation JavaScript. de ChromeDriver.

  1. Écrire un script de test

Ensuite, nous devons écrire un script de test. Supposons que nous ayons le module de connexion suivant :

function login(username, password) {
if (username === 'admin' && password === 'admin') {

return true;
Copier après la connexion

} else {

return false;
Copier après la connexion

}
}

Nous devons écrire un script de test pour tester l'exactitude de ce module. Dans le répertoire racine du projet, nous créons un fichier appelé login.spec.js avec le code suivant :

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

(async function loginTest( ) {
let driver = wait new Builder().forBrowser('chrome').build();
essayez {

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!');
Copier après la connexion

} enfin {

await driver.quit();
Copier après la connexion

}
})();

Dans le script de test, nous Utilisez Selenium et ChromeDriver pour les tests automatisés. Nous créons d'abord une instance de navigateur, puis ouvrons la page de connexion, entrons le nom d'utilisateur et le mot de passe, passons à l'interface utilisateur et enfin affichons les informations de réussite du test. La commande pour exécuter le script de test est la suivante :

node login.spec.js

Les résultats d'exécution sont tels qu'indiqués dans la figure ci-dessous :

Le script de test s'exécute avec succès et notre code peut s'exécuter correctement. De cette façon, nous pouvons publier le code en toute confiance !

Résumé

Cet article présente les tests unitaires et les tests automatisés en JavaScript. Les tests unitaires font référence à l'inspection et à la vérification de la plus petite unité testable, et le framework Jest est généralement utilisé pour écrire des cas de test et effectuer des tests ; les tests automatisés font référence au test de logiciels à l'aide de scripts, d'outils, etc., et Selenium et ChromeDriver sont généralement utilisés. rédiger des scripts de test et effectuer des tests. J'espère que cet article pourra aider les lecteurs à comprendre les tests JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!