JasmineJS - Architettura BDD

Jasmine segue il framework Behavioral Driven Development (BDD). Prima di apprendere il principio di funzionamento di Jasmine, facci sapere qual è il framework BDD.

Il seguente diagramma di flusso illustra le diverse fasi del framework BDD.

Step 1 − Start

In questa fase, renderemo il nostro ambiente pronto per l'applicazione di Jasmine.

Step 2 − Write a failing test

In questo passaggio, scriveremo il nostro primo caso di test. È ovvio che questo test fallirà perché non esiste un file o una funzione di questo tipo da testare.

Step 3 − Write a code to make it pass

In questa fase, prepareremo il nostro file JavaScript o la funzione che deve essere testata. Questa fase è fondamentale in quanto dobbiamo assicurarci che tutti i casi di test che avevamo preparato nella fase iniziale abbiano successo.

Step 4 − Refactor

Il refactoring è una fase molto importante del modello BDD in cui dobbiamo preparare il maggior numero di casi di test possibile per quella particolare applicazione o funzione.

Step 5 − Stop

Se tutto va bene, l'applicazione deve essere pronta e aggiornata. Quindi possiamo considerare questo passaggio come la fine della nostra applicazione BDD.

Esempio

Abbiamo ora raccolto alcune conoscenze sul principio di funzionamento del framework BDD. Vediamo come Jasmine segue questo framework BDD nella linea di test JavaScript.

Come mostra lo screenshot, dobbiamo testare Abc.js utilizzando il framework Jasmine. SpecRunner.html è il file di output che richiederà Spec.js(Test case file ), Abc.js(file to be tested), LIB come input ed eseguire tutti i casi di test presenti nel file spec e visualizzare il risultato nel browser.

Lib - Questi sono i file JavaScript incorporati che saranno utili per testare diverse funzioni e altri file JavaScript utilizzati nel nostro progetto.

Spec.js(Test case file)- Questo è il file JavaScript che contiene tutti i casi di test necessari per testare qualsiasi funzione o file JavaScript. Nella metodologia BDD, scriveremo prima il test, quindi questo è il file che deve essere aggiornato per primo. Sicuramente questo fallirà in quanto nel nostro progetto non sono presenti file o funzioni di questo tipo che possono essere testati. Questo file può essere modificato un numero illimitato di volte fino a quando tutte le funzionalità non vengono testate.

Abc.js(File to be tested) - Questo è il file che contiene le funzionalità che verranno testate utilizzando Spec.js e il file Lib.

SpecRunner.html - SpecRunner.html è un normale file html che renderà l'output dello unit test con l'aiuto di codici JavaScript incorporati in esso.