Saturday, December 16, 2017

Unit Testing AngularJS Application Using Karma, Jasmine and PhantomJS

Hallo, bersua lagi dengan saya yg kali ini akan membahas mengenai Unit Testing pada aplikasi AngularJS.

Singkatnya unit testing adalah pengujian terkecil dari sebuah code, hal yang diuji tersebut adalah event, method, dan class.

Selayang pandang mengenai Tools yang digunakan:

Karma: Merupakan test runner yang berfungsi mengeksekusi segala test script yang ditulis.

Jasmine: Sebuah framework behaviour driven development untuk menulis test script yang akan dieksekusi oleh karma.

PhantomJS: Merupakan headless browser, yaitu browser yang tidak memiliki interface namun dapat memanipulasi DOM.

sebelumnya kita dapat menginstall karma dengan script berikut:

npm install karma --save-dev

menginstall jasmine:

npm install jasmine --save-dev

dan script install PhantomJS seperti berikut:

npm install phantomjs --save-dev

dan untuk menjalankan phantomjs kita harus menginstall third party yaitu phantom launcher dengan script ini:

npm install karma-phantomjs-launcher


Jadi setelah berhasil terinstall semua tools yang kita butuhkan untuk melakukan unit testing, kurang lebih akan seperti ini directory project yang kita miliki:





Mari Membuat Test Script dengan Jasmine

Jasmine dapat mengeksekusi test script yang dibuat berdasarkan cara penulisan yang sangat mudah. Untuk mengetahui cara menulis dengan menggunakan Jasmine dapat dilihat dokumentasinya disini.

Test script yang saya buat seperti berikut:

TestSpec.js


Controller yang akan diuji:



Untuk menjalankan test script diatas kita harus memasukan filenya pada karma.conf.js. Hal tersebut dapat melihat caranya pada blog saya yang satu ini: http://blog.nostratech.com/2017/12/set-up-karma-pada-grunt-task-runner.html

Running Karma Task Runner:

Untuk melakukan running test script karma, dapat menjalankan command:

karma start karma.conf.js

Hasil test script dapat ditampilkan dalam format txt ataupun html.

Hasil test script seperti ini jika dalam format html:
Hasil test script dalam format txt:


Menarik bukan? 

Demikianlah yang bisa saya bagikan, selamat mencoba kawan and happy coding :D



No comments:

Post a Comment