NativeScript - Pengujian

Pengujian adalah fase yang sangat penting dalam siklus hidup pengembangan suatu aplikasi. Ini memastikan kualitas aplikasi. Ini membutuhkan perencanaan dan pelaksanaan yang cermat. Ini juga merupakan fase pengembangan yang paling memakan waktu. Kerangka NativeScript memberikan dukungan ekstensif untuk pengujian otomatis suatu aplikasi.

Jenis Pengujian

Umumnya, tiga jenis proses pengujian tersedia untuk menguji aplikasi. Mereka adalah sebagai berikut -

Pengujian Unit

Pengujian unit adalah metode termudah untuk menguji aplikasi. Ini didasarkan pada memastikan kebenaran sepotong kode (fungsi, secara umum) atau metode kelas. Tapi, itu tidak mencerminkan lingkungan nyata dan selanjutnya. Ini adalah opsi terkecil untuk menemukan bug.

Umumnya, NativeScript menggunakan kerangka kerja pengujian unit Jasmine, Mocha dengan Chai dan QUnit.

Untuk melakukan ini, pertama-tama Anda perlu mengonfigurasi proyek Anda menggunakan perintah di bawah ini -

tns test init

Sekarang, Anda mendapatkan respons berikut -

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

Sekarang, pilih jasmine kerangka kerja dan layar Anda terlihat seperti ini -

? 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 webpack@^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.

Sekarang, file tes dibuat di dalam src \ tes \ example.ts.

Buat Tes Anda

Mari kita tambahkan tes sederhana di dalam file example.ts seperti yang ditunjukkan di bawah ini -

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"); 
   }); 
});

Sini,

Pertama, periksa apakah penghitung sama dengan 10 dan periksa apakah pesan tersisa 10 ketukan.

Mari kita jalankan pengujian di langkah berikutnya.

Jalankan Tes Anda

Sekarang, jalankan tes di perangkat yang terhubung dengan Android atau iOS menggunakan perintah di bawah ini -

tns test android

Ini akan mengembalikan status berikut -

? 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

Kemudian pilih opsi di bawah -

? 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 
.....

Untuk menjalankan rangkaian pengujian Anda di simulator android, jalankan perintah berikut -

tns test android --emulator

Sekarang, server karma bersiap membangun dan menyebarkan proyek Anda.

Pengujian End To End (E2E)

Tes unit adalah proses kecil, sederhana dan cepat sedangkan, fase pengujian E2E beberapa komponen terlibat dan bekerja bersama yang menutupi aliran dalam aplikasi. Ini tidak dapat dicapai dengan uji unit dan integrasi.

NativeScript Appiumplugin digunakan untuk melakukan pengujian otomasi E2E. Nah, Appium adalah kerangka pengujian open source untuk aplikasi seluler. Untuk menambahkan framework ini dalam project Anda, Anda harus memiliki XCode versi terbaru atau Android SDK di atas 25.3.0.

Instal Appium

Mari kita instal Appium secara global menggunakan modul npm -

npm install -g appium

Sekarang, Anda dapat melihat tanggapan berikut -

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

Tambahkan Plugin

Mari kita tambahkan nativescript-dev-appium plugin sebagai devDependency ke proyek Anda menggunakan perintah di bawah ini -

$ npm install -D nativescript-dev-appium

Setelah menjalankan ini, pilih mocha kerangka kerja dan Anda akan mendapatkan respons yang serupa dengan ini -

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

Sekarang, file disimpan di dalam folder proyek Anda.

Bangun perangkat Anda

Mari kita membangun perangkat android menggunakan perintah di bawah ini -

tns build android

Perintah di atas akan menjalankan tes harus menentukan kemampuan yang ditargetkan. Jika Anda memiliki perangkat iOS, Anda dapat membangun menggunakaniOS alat.

Jalankan Tes

Sekarang, kami telah mengkonfigurasi perangkat. Mari kita jalankan pengujian kita menggunakan perintah di bawah ini -

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

Sini,

kapabilitas-nama didefinisikan di dalam aplikasi Anda e2e/config/appium.capabilities.json.

Keluaran

NativeScript - Kesimpulan

NativeScript adalah aplikasi seluler yang bagus untuk pengembang web untuk menguji aplikasi mereka sepenuhnya dengan cara yang sangat mudah tanpa upaya ekstra. Pengembang dapat dengan percaya diri mengembangkan aplikasi yang tampak hebat serta sukses tanpa masalah apa pun dalam waktu singkat.