NativeScript - Test

Il test è una fase molto importante nel ciclo di vita di sviluppo di un'applicazione. Garantisce la qualità dell'applicazione. Ha bisogno di un'attenta pianificazione ed esecuzione. È anche la fase di sviluppo che richiede più tempo. Il framework NativeScript fornisce un ampio supporto per il test automatizzato di un'applicazione.

Tipi di test

In genere, sono disponibili tre tipi di processi di test per testare un'applicazione. Sono i seguenti:

Test unitario

Lo unit test è il metodo più semplice per testare un'applicazione. Si basa sull'assicurare la correttezza di un pezzo di codice (una funzione, in generale) o un metodo di una classe. Ma non riflette l'ambiente reale e successivamente. È l'ultima opzione per trovare i bug.

In generale, NativeScript utilizza Jasmine, Mocha con Chai e QUnit unit test framework.

Per eseguire ciò, prima devi configurare nel tuo progetto usando il comando seguente:

tns test init

Ora, ottieni la seguente risposta:

? Select testing framework: (Use arrow keys) 
> jasmine 
   mocha 
   qunit

Ora seleziona jasmine framework e il tuo schermo è simile a questo -

? Select testing framework: jasmine 
+ [email protected] 
added 90 packages from 432 contributors and audited 11944 packages in 8.753s 

+ [email protected] 
added 2 packages from 1 contributor and audited 11946 packages in 7.299s 

> [email protected] postinstall 
/Users/workspace/NativeScript/NativeApp/node_modules/core-js 

> node -e "try{require('./postinstall')}catch(e){}" 
Thank you for using core-js ( https://github.com/zloirock/core-js ) for 
polyfilling JavaScript standard library! 
The project needs your help! Please consider supporting of core-js on Open 
Collective or Patreon:

> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 
Also, the author of core-js ( https://github.com/zloirock ) is looking for a 
good job -) 
npm WARN [email protected] requires a peer of [email protected]^2.0.0 
|| ^3.0.0 but none is installed. You must install peer dependencies yourself. 

+ [email protected] 
added 19 packages from 52 contributors and audited 12012 packages in 9.368s 

+ [email protected] 
added 2 packages from 35 contributors and audited 12014 packages in 6.925s 

+ [email protected] 
updated 1 package and audited 12014 packages in 7.328s 
+ @types/[email protected] 

> [email protected] postinstall /Users/deiva/workspace/NativeScript/NativeApp/node_modules/nativescript-unit
-test-runner 

> node postinstall.js 
+ [email protected] 

added 1 package from 1 contributor and audited 12032 packages in 7.14s 
Successfully installed plugin nativescript-unit-test-runner. 

Example test file created in src/tests 
Run your tests using the "$ tns test <platform>" command.

Ora, il file di test viene creato all'interno di src \ tests \ example.ts.

Crea i tuoi test

Aggiungiamo un semplice test all'interno del file example.ts come mostrato di seguito -

describe("NativeApp test:", function() { 
   it("Check counter.", function() { 
      expect(mainViewModel.createViewModel().counter).toEqual(10); 
   }); 
   it("Check message.", function () { 
      expect(mainViewModel.createViewModel().message).toBe("10 taps left"); 
   }); 
});

Qui,

Innanzitutto, controlla se il contatore è uguale a 10 e controlla se il messaggio è rimasto a 10 tocchi.

Eseguiamo il test nel passaggio successivo.

Esegui i tuoi test

Ora, esegui il test su un dispositivo Android o iOS collegato utilizzando il comando seguente:

tns test android

Ciò restituirà il seguente stato:

? To continue, choose one of the following options: (Use arrow keys) 
> Configure for Cloud Builds 
   Configure for Local Builds 
   Configure for Both Local and Cloud Builds 
   Skip Step and Configure Manually

Quindi scegli l'opzione di seguito:

? To continue, choose one of the following options: Configure for Local Builds 
Running the setup script to try and automatically configure your environment. 
These scripts require sudo permissions 
.....

Per eseguire la tua suite di test nel simulatore Android, esegui il seguente comando:

tns test android --emulator

Ora, il server karma prepara le build e distribuisce il tuo progetto.

Test end-to-end (E2E)

I test unitari sono un processo piccolo, semplice e veloce, mentre nella fase di test E2E sono coinvolti più componenti e lavorano insieme che coprono i flussi nell'applicazione. Ciò non può essere ottenuto mediante test unitari e di integrazione.

NativeScript AppiumIl plugin viene utilizzato per eseguire test di automazione E2E. Bene, Appium è un framework di test open source per app mobile. Per aggiungere questo framework al tuo progetto, devi avere l'ultima versione di XCode o Android SDK sopra 25.3.0.

Installa Appium

Installiamo Appium a livello globale utilizzando il modulo npm -

npm install -g appium

Ora, potresti vedere la seguente risposta:

npm install -g appium 
/Users/.npm-global/bin/authorize-ios -> 
/Users/.npm-global/lib/node_modules/ appium/node_modules/.bin/authorize-ios 

> [email protected] install 
/Users/.npm-global/lib/node_modules/ appium/node_modules/appium-windows-driver

> node install-npm.js 
Not installing WinAppDriver since did not detect a Windows system 

> [email protected] postinstall /Users/.npm-
global/lib/node_modules/appium/node_modules/core-js 

> node -e "try{require('./postinstall')}catch(e){}" 
Thank you for using core-js ( https://github.com/zloirock/core-js ) for 
polyfilling JavaScript 
standard library! 
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 

> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 
Also, the author of core-js ( https://github.com/zloirock ) 
is looking for a good job -) 

> [email protected] postinstall/Users/.npm-
global/lib/node_modules/appium/node_modules 
/appium-chromedriver 

> node install-npm.js 
............................................ 
............................................. 
+ [email protected] 
added 671 packages from 487 contributors in 28.889s

Aggiungi plugin

Aggiungiamo nativescript-dev-appium plugin come devDependency al tuo progetto usando il comando seguente -

$ npm install -D nativescript-dev-appium

Dopo aver eseguito questo, scegli mocha framework e otterrai una risposta simile a questa:

> node ./postinstall.js 
? What kind of project do you use
? javascript ? Which testing framework do you prefer? mocha 
+ [email protected]

Ora, i file vengono archiviati nella cartella del progetto.

Costruisci il tuo dispositivo

Costruiamo un dispositivo Android utilizzando il comando seguente:

tns build android

Il comando precedente eseguirà i test dovrebbe specificare le capacità mirate. Se hai un dispositivo iOS, puoi creare utilizzandoiOS dispositivo.

Esegui test

Ora abbiamo configurato il dispositivo. Eseguiamo il nostro test utilizzando il comando seguente:

npm run e2e -- --runType <capability-name>

Qui,

nome-capacità è definito all'interno dell'applicazione e2e/config/appium.capabilities.json.

Produzione

NativeScript - Conclusione

NativeScript è un'ottima app mobile per gli sviluppatori web per testare la loro applicazione completamente in un modo molto semplice senza fare ulteriori sforzi. Gli sviluppatori possono sviluppare con sicurezza un'applicazione dall'aspetto accattivante e di successo senza problemi in un breve periodo di tempo.