menu

Jasmine dan jstestdriv Unit Testing dengan JavaScript

Pada saat tes pilihan saya kerangka JavaScript melalui script atau executable jstestdriv menggunakan struktur sebagai bagian dari Jasmine dan Jasmine C. tes rangka, adalah untuk membuatnya otomatis. Pada artikel ini, saya memiliki fungsi sebagai berikut:

Aku ingin pindah setelah tes sederhana di bawah jstestdriv JavaScript dan akan memberikan akses cepat Jasmine;

  • mengembalikan hanya menambahkan dua angka dan hasil addnumb adalah,
  • adalah orang yang ditunjuk oleh layanan web dan orang yang menunjukkan fungsi renderperso forc’d displayperso ini,
  • JSON Dia memberi sepotong renderperso adalah orang-orang yang dikandungnya menunjukkan nama dan nama keluarga
 aplikasi I = {AddNumbers: fungsi (a, b) {var result = a + b; Pengembalian hasil; } Displayperso: function (PersonID) {$ GetJSON ('/ People /' + PersonID, null, myapp.renderperso dunia); } Renderperso di. Fungsi (data) {$ ('#firstn permainan') Teks (renovasi data.person.firstn); . $ ('#surn Up'), Text (renovasi data.person.surn); }}; 

Berikut ini tujuan mereka adalah jelas jadi saya pikir Jasmine JavaScript menyediakan struktur tes uji kode di atas.

Jasmine di dunia ini Anda adalah yang paling kuat dan berguna NET mereka menawarkan fungsionalitas yang sama dengan MOQ dan mengejek fungsi Rhino, Anda / rintisan yang memungkinkan Anda untuk mengejek Spies. Kode mata-mata kancing bawah metode pengujian yang tidak menggunakan layanan yang tersedia getJSON membuat jQuery panggilan.

Jika Anda ingin memastikan bahwa itu benar Anda lainnya fitur yang berguna rekaman kode untuk berinteraksi dengan elemen HTML yang, misalnya, sangat berguna, mereka diizinkan untuk menginstal tes HTML dengan menempatkan teks di daerah dengan identitas yang unik.

 'nomor sambil menambahkan', function () mendefinisikan ('My App Tes', function () {menjelaskan ({o ('Anda perlu menambahkan dua nomor' , function () {var = hasil myapp.addnumbers (5, 10); menunggu (hasil) .toequal (15);});}); seseorang melihat "(menjelaskan '{) (fungsi dorong (" Kami ") ; ada PersonID = 354; myapp.displayperso ini (PersonID) dipersilahkan ($ GetJSON) .tohavebeencalledwith (function 'getJSON' () {spyo dari ($, 'Anda harus mendapatkan orang / orang /' + PersonID, null, jasmine.any (Fungsi ));}); o ("hasil harus" function () {var JSON = 'beberapa informasi'; spyo ini (Application'm renderperso ini '); spyo dari ($,' getJSON ') .andcallfak ke (function (url, data, callback ) {return (JSON);}); ada PersonID = 354; myapp.displayperso ini (PersonID); menunggu (myapp.renderperso ini) .tohavebeencalledwith (JSON);});}); resep (function ('orang yang melakukan') { beforeeach (function () {setfixtures (& amp; quot; & amp; lt; div & amp; gt; & amp; amp; lt; span id = "nama" / & amp; amp; gt; & Amp; Gamble; lt; span id = "nama" / & amp; amp; gt; & Amp; Gamble; lt; / Div & amp; amp; gt; & Amp; Gamble; quote); Data var = {& amp; amp; quot; orang dan amp; quot; {& amp; Amp; quot; Nama & amp; Amp; quot ;: & amp; Amp; quot; Fred & amp; amp; quot ;, & amp; amp; quot; Nama asli & amp; Amp; quot ;: & amp; Amp; quot; blog dan amp; quot;}}; myapp.renderperso (data)}); o ('harus menampilkan nilai nama' function () {menunggu ($ ('#firstn up'), teks ()) toequal ("Fred");} ..); o ("harus menunjukkan nama ', function () {menunggu ($ (' #surn up '), teks ()) toequal (.' blog ');.});});}); 

Jasmine Pengujian dilakukan dengan pemindai, beberapa perpustakaan harus membuat halaman yang referensi melati, kode dan tes dan semua jenis perpustakaan tergantung pada aplikasi Semua tes direferensikan dilakukan ketika Anda memuat halaman ini, hasil yang ditampilkan sebagai berikut:

Ini cara menjalankan tes adalah untuk memerintah pada komputer pembangunan daerah Anda, tetapi melalui komponen naskah atau C Hal ini tidak berguna jika Anda ingin menjalankan tes Anda. Ini adalah di mana saya menunjukkan saya yang mungkin jstestdriv dapat menjalankan tes otomatis berikut bagaimana membantu perlu men-download Jasmine untuk jstestdriv Adapter jstestdriv adalah men-download serta PowerShell

Menggunakan bantuan jstestdriv adalah Jasmine. Apa yang perlu Pertama kita dapat menjalankan Apa yang harus menunjukkan jstestdriv titik untuk men-download file. Contoh ini

ditampilkan di bawah ini untuk ini, membuat jstestdriver.conf berkas

 membuat server: http: // localhost: 9876 beban - /jasmine.js lib - lib / melati-jquery-1.3.1.js - code.js src / test - - lib / jasmineadapter.js - /lib/jquery-1.7.1.min.js Tes / codetests. js 

jstestdriv adalah untuk memulai dan untuk melaksanakan tes harus membuat skrip PowerShell Berikutnya; Contoh script ini ditunjukkan di bawah ini. Ketika Anda mencoba untuk menjalankan tempat ini, Anda mungkin perlu memperbarui Java Runtime Environment tidak dipasang di tempat yang sama dengan saya, seperti jalan.

Dengan asumsi bahwa jalankan perintah berikut dari hanya jenis file PowerShell jelas dan runjstests.ps1. . runjstests.ps1 dan mengikuti produksi

 $ RootDir = Selesaikan Road. $ Jawa = & amp; amp; quot; $ Anwar: jre6 ribu java.exe Java & amp; ProgramFiles amp; quot; $ Firefox = & amp; amp; quot; $ Anwar Mozilla Firefox firefox.exe & amp; ProgramFiles amp; quot; Kata-kata $ = & amp; amp; quot; $ Anwar: Internet Explorer iexplore.exe & amp; ProgramFiles amp; quot; $ Chrome = & amp; amp; quot; $ Anwar: Google Chrome App LocalAppData chrome.exe & amp; amp; quot; $ Jsunittestreportpath = $ RootDir & amp; Bergabunglah amp-Way; quot; Laporan & amp; amp; quot; $ Jstestdriv adalah = $ RootDir & amp; Bergabunglah amp-jalan; quot; jstestdriv on-1.3.3d.j adalah & amp; Amp; quot; runtests function () {{exec & amp; amp; amp; Java jar adalah --port 9876 $ $ jstestdriv jstestdriver.conf --configdir --brows adalah & amp; Amp; quot; $ Firefox & amp; amp; quot; Semua --tests $ --testoutput runtests jsunittestreportpath}} 

Tes melakukan jstestdriv atas naskah, kita dapat mengubah selama kita di browser apapun memberikan browser bimbingan kebakaran hutan menggunakan contoh fox tes berjalan kita semua tes di rubah-api, Chrome dan Browser jstestdriv selain browser Internet Explorer dapat dijalankan hanya ingin menjalankan mengubah parameter, Anda dapat menggunakan beberapa browser

 --brows adalah & amp; amp; quot; $ Firefox, Chrome $, yaitu $ & amp; amp; quot; 

Jika Anda ingin menjalankan JavaScript unit test sebagai bagian dari konstruksi CI jstestdriv memungkinkan, parameter testoutput jstestdriv membuat laporan sesuai JUnit ke folder tertentu dan menyimpan acara.

Kode untuk artikel ini tersedia di Github.


Leave a Reply

Your email address will not be published. Required fields are marked *