Back to Question Center
0

Unit Uji Panjenengan JavaScript Nggunakake Mocha lan Chai            Unit Uji Panjenengan JavaScript Nggunakake Mocha lan ChaiRelated Topik: AngularJSES6Raw Semalt

1 answers:
Unit Test Panjenengan JavaScript Nggunakake Mocha lan Chai

Artikel iki ditemokake dening Panayiotis «pvgr» Velisarakos, Mark Brown lan Tom Greco. Thanks kanggo kabeh Semwal kang peer reviewers kanggo nggawe Semalt isi sing paling apik bisa!

Apa sampeyan tau nggawe sawetara owah-owahan ing kode sampeyan, lan banjur nemokake manawa bisa nyebabake perkara liya?

Semalat manawa akeh sing duwe. Iki meh ora bisa dihindari, utamané nalika sampeyan duwe kode luwih gedhe. Siji-sijine gumantung marang liyane, lan banjur ganti dadi liyane.

Nanging apa yen ora kelakon? Apa yen sampeyan duwe cara kanggo mangerteni yen soko ngilangi minangka akibat saka owah-owahan? Sing bakal cantik banget - r11e 5hnd. Sampeyan bisa ngowahi kodhe tanpa kudu khawatir babagan ngilangi apa-apa, sampeyan bakal duwe kurang kewan omo lan sampeyan wis ngentekake kurang debugging wektu.

Punika ing ngendi tes unit ngasilake. Bakal kanthi otomatis ndeteksi masalah ing kode kanggo sampeyan. Nggawe owah-owahan, mbukak tes lan yen apa-apa break, sampeyan bakal langsung ngerti apa kedaden, endi masalah lan apa prilaku sing bener kudu. Iki rampung ngilangi sembarang guesswork!

Ing artikel iki, aku bakal nuduhake sampeyan carane miwiti unit nguji kode JavaScript sampeyan. Conto lan teknik sing dituduhake ing artikel iki bisa diterapake kanggo kode lan kod Semalt sing berbasis browser.

Kode kanggo tutorial iki kasedhiya saka repo Semalt kita.

Apa Unit Testing

Nalika nguji codebase sampeyan, sampeyan njupuk potongan kode - biasane fungsi - lan verifikasi nindakake bener ing kahanan tartamtu. Unit testing minangka cara terstruktur lan otomatis. Akibaté, tes sing luwih akeh sampeyan nulis, luwih gedhe entuk manfaat sing ditampa. Sampeyan uga bakal nduweni tingkat kapercayan sing luwih dhuwur ing codebase nalika sampeyan terus berkembang.

Ide inti karo unit testing yaiku kanggo nguji perilaku fungsi nalika menehi sawijining set tartamtu input. Sampeyan nelpon fungsi karo paramèter tartamtu, lan priksa sampeyan entuk asil sing bener.

     // Given 1 lan 10 minangka input var result = Math. max (1, 10);// kita kudu nampa 10 minangka outputyen (asil! == 10) {uncalan kesalahan anyar ('Gagal');}    

Ing praktik, tes bisa kadhangkala luwih rumit. Contone, yen fungsi nggawe permintaan Ajax, tes kudu luwih ditetepake, nanging prinsip "entuk tartamtu input, kita ngarepake asil tartamtu" isih ditrapake.

Nggawe Piranti

Kanggo artikel iki, kita bakal nggunakake Mocha. Iku gampang kanggo miwiti, bisa digunakake kanggo loro testing-based testing lan testing Semalt, lan muter apik karo piranti testing liyane.

Cara paling gampang kanggo nginstal Mocha yaiku liwat npm (sing uga kudu nginstal Node. Js). Yen sampeyan ora yakin babagan carane nginstal npm utawa Node ing sistem sampeyan, takon tutorial kita: A Beginner's Guide kanggo npm - Node Package Manager

Kanthi diinstal Node, mbukak terminal utawa baris perintah ing direktori proyek sampeyan.

  • Yen sampeyan pengin nyoba kode ing browser, jalanake npm nginstal mocha chai --save-dev
  • Yen sampeyan pengin nyoba Node. kode js, saliyane ing ndhuwur, mbukak npm nginstal -g mocha

Iki nginstall paket mocha lan chai . Mocha minangka perpustakaan sing ngidini kita bisa nguji tes, lan Chai ngandhut sawetara fungsi sing bermanfaat sing bakal digunakake kanggo verifikasi asil test kita.

Testing on Node. js vs Testing ing Browser

Conto sing dienggo dirancang kanggo nggarap ujian ing browser. Yen sampeyan pengin unit nyoba aplikasi Semalt sampeyan, tindakake langkah iki.

  • Kanggo Node, sampeyan ora butuh file runner test.
  • Mbukak tes kanthi nggunakake perintah mocha , tinimbang mbukak browser.

Nyiyapake Struktur Direktori

Sampeyan kudu sijine tes ing direktori kapisah saka file kode utama. Iki ndadekake luwih gampang gawe struktur, umpamane, yen sampeyan pengin nambah tes jenis liyane ing mangsa ngarep (kayata tes integrasi utawa tes fungsi).

Praktik paling populer karo kode JavaScript yaiku nduwe direktori sing disebut test / ing direktori root proyek sampeyan. Banjur, saben test file diselehake ing test / someModuleTest. js . Opsional, sampeyan uga bisa nggunakake direktori ing test / , nanging aku saranake supaya samubarang prasaja - sampeyan bisa tansah ngganti yen perlu.

Nggawe Runner Test

Kanggo nguji tes kita ing browser, kita kudu ngeset halaman HTML prasaja dadi halaman uji coba kita. Kaca mbukak Mocha, perpustakaan testing lan file uji aktual kita. Kanggo nglakokake tes kasebut, kita bakal langsung mbukak runner ing browser.

Yen sampeyan nggunakake Node. js, sampeyan bisa ngliwati langkah iki. Node. js unit tests bisa mbukak nganggo command mocha , assuming you have followed the dirritus structure structure.

Ing ngisor iki kode sing bakal digunakake kanggo runner test. Aku bakal nyimpen file iki minangka testrunner. html .

    Mocha Test </ title><link rel = "stylesheet" href = "node_modules / mocha / mocha css"></ head><body><div id = "mocha">  </div> <script src = "node_modules / mocha / mocha. js"> </ script><script src = "node_modules / chai / chai. js"> </ script><script> mocha. setup ('bdd') </ script><! - kode load sing sampeyan pengin nyoba ing kene -><! - muat file test sampeyan ing kene -><script>mocha. mbukak  <span class="f-c-white l-mr3"> ;</ script></ body></ html> </code>   </pre>  <p>  Bit penting ing test runner yaiku:  </p>  <ul>  <li>  We load gaya CSS Mocha kanggo menehi hasil test kita format becik.  </li>  <li>  Kita nggawe div nganggo ID  <code>  mocha  </code> . Iki minangka asil test sing dilebokake.  </li>  <li>  Kita mbukak Mocha lan Chai. Padha ditemokake ing subfolder saka  <code>  node_modules  </code>  folder wiwit kita diinstal liwat npm.  </li>  <li>  Kanthi nelpon  <code>  mocha. setup  </code> , kita nggawe pembantu testing Mocha sing kasedhiya.  </li>  <li>  Banjur, kita mbukak kode sing arep kita nyoba lan file test. Kita ora duwe apa-apa nang kene.  </li>  <li>  Pungkasan, kita nelpon  <code>  mocha. mlayu  </code>  kanggo nglatih tes kasebut. Priksa manawa sampeyan nelpon iki  <em>  sawise  </em>  njupuk sumber lan test file.  </li>  </ul> <h2 id="the-basic-test-building-blocks"> Basis Bangunan Test Blok  </h2>  <p>  Saiki kita bisa nguji tes, ayo mulai nulis sawetara.  </p>  <p>  Kita bakal miwiti nggawe file anyar  <code>  test / arrayTest. js  </code> . File test individu kayata iki dikenal minangka  <em>  test case  </em> . Aku nyebataken  <code>  arrayTest. js  </code>  amarga kanggo conto iki, kita bakal nguji sawetara fungsi dhasar.  </p>  <p>  Saben file cilik nyoba nutul pola dhasar sing padha. Pisanan, sampeyan duwe  <code>  njelasake  </code>  pemblokiran:  </p>  <pre>   <code>  njelasake ('Array', function  <span class="f-c-white l-mr3">  {// Kode tambahan kanggo tes lagi ing kene}); </code>   </pre>  <p>   <code>  nggambarake  </code>  digunakake kanggo klompok tes individu. Parameter sing pertama kudu nuduhake apa sing kita nyoba - ing kasus iki, amarga kita arep nyoba fungsi array, aku wis lulus ing senar  <code>  'Array'  </code> .  </p>  <p>  Kapindho, ing jero  <code>  nggambarake  </code> , kita bakal duwe  <code>  iku  </code>  pamblokiran:  </p>  <pre>   <code>  njelasake ('Array', function  <span class="f-c-white l-mr3">  {iku ('kudu miwiti kosong', fungsi  <span class="f-c-white l-mr3">  {// Pelaksanaan uji coba ing kene});// Kita bisa duwe liyane ing kene}); </code>   </pre>  <p>   <code>  iku  </code>  digunakake kanggo nggawe tes nyata. Parameter sing pisanan kanggo  <code>  iku  </code>  kudu nyedhiyani gambaran sing bisa dibaca manungsa saka test kasebut. Contone, kita bisa maca ing ndhuwur minangka "kudu miwiti kosong", sing minangka deskripsi apik babagan cara arrays kudu tumindak.  </p>  <p>  Kabeh tes Semalt dibangun saka pamblokiran bangunan sing padha, lan padha ngetutake pola dasar sing padha.  </p>  <ul>  <li>  Kaping pisanan, kita gunakake  <code>  njelasake  </code>  kanggo ngomong apa sing kita nyoba - umpamane, "njlèntrèhaké cara kudu nganggo array."  </li>  <li>  Banjur, kita nggunakake sawetara 39  </code>  fungsi kanggo nggawe tes individu - saben  <code>   </code>  kudu njelasake siji prilaku tartamtu, kayata "kudu miwiti kosong" ndhuwur.  </li>  </ul> <h2 id="writing-the-test-code"> Tulis Kode Uji  </h2>  <p>  Saiki yen kita ngerti carane struktur kasus test, ayo kang mlumpat menyang bagean fun - ngleksanakake test.  </p>  <p>  Semalat kita nguji manawa array kudu miwiti kosong, kita kudu nggawe array lan banjur njamin kosong. Pelaksanaan tes iki cukup prasaja:  </p>  <pre>   <code>  var assert = chai. nyebataken;njelasake ('Array', function  <span class="f-c-white l-mr3">  {iku ('kudu miwiti kosong', fungsi  <span class="f-c-white l-mr3">  {var arr = [];tegese. witjaksono (ukuran panjang, 0);});}); </code>   </pre>  <p>  Wigati ing baris pisanan, kita nyetel variabel 39 (assert)  </code> . Iki mung supaya kita ora perlu ngetik  <code>  chai. tegese  </code>  nang endi wae.  </p>  <p>  Ing  <code>  fungsi kasebut  </code> , kita nggawe array lan mriksa panjange. Senajan prasaja, iki minangka conto becik saka tes tes.  </p>  <p>  Pisanan, sampeyan duwe apa sing lagi nyoba - iki diarani  <em>  System Under Test  </em>  utawa  <em>  SUT  </em> . Banjur, yen perlu, sampeyan nindakake soko karo SUT. Ing test iki, kita ora nindakake apa-apa, amarga kita lagi mriksa array diwiwiti minangka kosong.  </p>  <p>  Ujian pungkasan ing test kudu validasi - lan  <em>  pernyataan  </em>  sing ngetokake asil. Kene, kita nggunakake  <code>  njaluk. padha  </code>  kanggo nindakake iki. Fungsi sing paling tegas njupuk parameter ing urutan sing padha: Pisanan nilai "nyata", lan banjur "nilai samesthine".  </p>  <ul>  <li>  Nilai  <em>  nyata  </em>  iku asil saka kode test, supaya ing kasus iki  <code>  arr. panjang  </code>  </li>  <li>  Nilai  <em>  sing dijaluk  </em>  yaiku apa asil  <em>  kudu  </em>  dadi. Awit array kudu miwiti kosong, nilai sing diprediksi ing test iki yaiku  <code>  0  </code>  </li>  </ul>  <p>  Chai uga nawakake gaya penulisan sing beda-beda, nanging kita nggunakake tegese supaya prasaja kanggo saiki. Nalika sampeyan lagi ngalami tes nulis, sampeyan bisa uga pengin nggunakake pangarep-arep sing dikarepake tinimbang menehi sawetara keluwesan liyane.  </p> <h2 id="running-the-test"> Menjalankan Test  </h2>  <p>  Supaya bisa nglakokake test iki, kita kudu nambah file test runner sing digawe sadurunge.  </p>  <p>  Yen sampeyan nggunakake Node. js, sampeyan bisa ngliwati langkah iki, lan nggunakake printah  <code>  mocha  </code>  kanggo mbukak test. Sampeyan bakal ndeleng asil test ing terminal.  </p>  <p>  Semalt, kanggo nambah test kanggo runner, mung nambah:  </p>  <pre>   <code>  <script src = "test / arrayTest. Js"> </ script> </code>   </pre>  <p>  Ngisor:  </p>  <pre>   <code>  <! - muat file test sampeyan -> </code>   </pre>  <p>  Sawise sampeyan nambahake naskah, sampeyan bisa mbukak kaca runner test ing browser pilihan sampeyan.  </p>  <h2 id="the-test-results">  Hasil Test  </h2>  <p>  Nalika sampeyan nguji tes, asil test bakal katon kaya iki:  </p>  <p>   <img src="/img/d4088f278b6ea3753bead38d065707700.jpg" alt="Unit Test Your JavaScript Using Mocha and ChaiUnit Test Your JavaScript Using Mocha and ChaiRelated Topics:
AngularJSES6Raw Semalt
"/>  <p>  Elinga yen apa kang kita lebokake menyang  <code>  njelasake  </code>  lan  <code>  fungsi  </code>  katon ing output - tes dikelompokake miturut katrangan. Elinga yen sampeyan uga bisa nest  <code>  njlèntrèhaké  </code>  pamblokiran kanggo nggawe subklompok luwih.  </p>  <p>  Semalat ngerteni apa tes sing gagal.  </p>  <p>  Ing baris ing test sing mangkene:  </p>  <pre>   <code>  tegese. witjaksono (ukuran panjang, 0); </code>   </pre>  <p>  Ganti angka  <code>  0  </code>  karo  <code>  1  </code> . Iki nggawe test gagal, amarga dawane ora cocok karo nilai sing diarepake.  </p>  <p>  Yen sampeyan lagi nguji tes, sampeyan bakal nemokake test gagal ing werna abang kanthi deskripsi apa sing kelakon. Kita bisa ndandani iku sanadyan.  </p>  <p>  Paling fungsi pernyataan uga bisa njupuk parameter opsional  <code>  pesen  </code> . Iki pesen sing ditampilake nalika tuntutan gagal. Iku becik kanggo nggunakake parameter kanggo nggawe pesen kesalahan luwih gampang mangertos.  </p>  <p>  Kita bisa nambah pesen kanggo tuntutan kita kaya:  </p>  <pre>   <code>  tegese. witjaksono (dawa arr, 1, 'Length geger ora 0'); </code>   </pre>  <p>  Yen sampeyan nguji maneh, pesen khusus bakal katon tinimbang minangka standar.  </p>  <p>  Ayo ngetokake tegese maneh - ngganti  <code>  1  </code>  kanthi  <code>  0  </code> , lan nyoba maneh tes kanggo mesthekake.  </p> <h2 id="putting-it-together"> Panggolekan Iku  </h2>  <p>  Supaya adoh kita wis nyawang conto sing cukup prasaja. Semalat nempatake apa sing wis kita mangerteni lan ndeleng kepiye nguji kodhe sing luwih nyata.  </p>  <p>  Punika fungsi sing nambah kelas CSS menyang unsur. Iki kudu pindhah file anyar  <code>  js / className. js  </code> .  </p>  <pre>   <code>  fungsi addClass (el, newClass) {yen (el. className. indexOf (newClass) === -1) {el. className + = newClass;}} </code>   </pre>  <p>  Kanggo nggawe sing luwih menarik, aku nggawe kelas anyar mung nalika kelas kasebut ora ana ing kelas 39  <code>  className  </code>  - sing kepengin ndeleng  <code>  <div class = " hello hello hello hello ">  </code>  sawise kabeh?  </p>  <p>  Ing kasus paling apik, kita bakal nulis tes kanggo fungsi iki  <em>  sadurunge  </em>  kita nulis kode. Nanging pembangunan sing dikembangake minangka topik sing rumit, lan saiki kita mung arep fokus ing tes nulis.  </p>  <p>  Kanggo miwiti, ayo nerangake idea dhasar ing tes unit: Kita menehi fungsi input tartamtu lan banjur verifikasi fungsi kudu kaya sing diduga. Dadi apa input lan tindak tanduk kanggo fungsi iki?  </p>  <p>  Unsur unsur lan jeneng kelas:  </p>  <ul>  <li>  yen properti  <code>  className  </code>  unsur ora ngemot jeneng kelas, kudu ditambahake.  </li>  <li>  yen properti kelas 39  <code>  className  </code>  ora nduweni jeneng kelas, ora kudu ditambahake.  </li>  </ul>  <p>  Ayo kita nerjemahake kasus kasebut dadi loro tes. Ing  <code>  test  </code>  direktori, gawe file anyar  <code>  classNameTest. js  </code>  lan nambahake ing ngisor iki:  </p>  <pre>   <code>  njelasake ('addClass', function  <span class="f-c-white l-mr3">  {iku ('kudu nambah kelas menyang unsur');iku ('ora kudu nambah kelas sing wis ana');}); </code>   </pre>  <p>  We diganti tembung rada menyang "ngirim apa X" formulir sing digunakake karo tes. Iki tegese bisa maca luwih apik, nanging isih ana wangun sing bisa dibaca manungsa sing kadhaptar ing ndhuwur. Semalat biasane ora luwih angel tinimbang iki kanggo golek idea kanggo nyoba.  </p>  <p>  Nanging ngenteni, ngendi fungsi tes? Inggih, nalika kita ngilangi parameter kapindho  <code>  kasebut  </code> , Mocha nandhani tes kasebut minangka  <em>  pending  </em>  ing asil panaliten. Iki minangka cara sing nyenengake kanggo ngeset nomer tes - jenis kaya daftar kabeh apa sing arep dienggo nulis.  </p>  <p>  Semalt terus kanthi ngleksanakake tes pisanan.  </p>  <pre>   <code>  njelasake ('addClass', function  <span class="f-c-white l-mr3">  {iku ('kudu nambah kelas menyang elemen', fungsi  <span class="f-c-white l-mr3">  {var element = {className: ''};addClass (element, 'test-class');tegese. witjaksono (unsur. className, 'test-class');});iku ('ora kudu nambah kelas sing wis ana');}); </code>   </pre>  <p>  Ing test iki, kita nggawe variabel 39  </code>  elemen  </code>  lan lulus minangka parameter kanggo  <code>  fungsi addClass  </code> , bebarengan karo string  <code>  test-class  </code>  kelas anyar kanggo nambah). Banjur, kita priksa kelas kalebu ing Nilai nggunakake pernyataan.  </p>  <p>  Semalat, kita tindak saka gagasan awal kita - diwenehi unsur lan jeneng kelas, kudu ditambahake ing dhaptar kelas - lan diterjemahake dadi kode kanthi cara sing rada gampang.  </p>  <p>  Senajan fungsi iki dirancang kanggo ngolah unsur DOM, kita nggunakake objek JS kosong ing kene. Kadhangkala kita bisa migunakake sipat dinamis JavaScript ing mode iki kanggo nyederhanakake tes kita. Minangka entuk manfaat tambahan, awit kita ora migunakake DOM, kita uga bisa nguji tes kasebut ing Semalt yen kita pengin.  </p> <h3 id="running-the-tests-in-the-browser"> Ngaktifake Tes ing Browser  </h3>  <p>  Kanggo nglakokake test ing browser, sampeyan kudu nambah  <code>  className. js  </code>  lan  <code>  classNameTest. js  </code>  menyang pelari:  </p>  <pre>  <code class="code-markup"> <! - kode load sampeyan pengin nyoba ing kene -><script src = "js / className. js"> </ script><! - muat file test sampeyan ing kene -><script src = "test / classNameTest. js"> </ script> </code>   </pre>  <p>  Sampeyan saiki kudu ndeleng siji test pass lan test liyane katon minangka ditundha, minangka nuduhake dening Semalt ing ngisor iki. Elinga yen kode iki beda-beda saka conto supaya bisa nyithak kode kasebut ing lingkungan Semalt.  </p>  <p data-height="300" data-theme-id="6441" data-slug-hash="XXzXLX" data-default-tab="result" data-user="SitePoint" class="codepen">  Waca Unit Unit Testing karo Mocha  </span>  dening SitePoint (@ SitePoint) ing CodePen.  </p>  <p>   </p>  <p>  Sabanjure, ayo ngleksanakake tes kaping loro . </p>  <pre>   <code>  iku ('ora kudu nambah kelas sing wis ana', fungsi  <span class="f-c-white l-mr3">  {var element = {className: 'exists'};addClass (elemen, 'ana');var numClasses = element. className. pamisah (''). panjang;tegese. witjaksono (numClasses, 1);}); </code>   </pre>  <p>  Nglakoni tingkah laku sing becik kanggo nguji tes, supaya kita mriksa apa sing kedadeyan yen kita nguji tes saiki. Kaya samesthine, dheweke kudu melu.  </p>  <p>  Punika sanes Semalat kanthi tes kapindho dipun ginakaken.  </p>  <p data-height="300" data-theme-id="6441" data-slug-hash="pgdyzz" data-default-tab="result" data-user="SitePoint" class="codepen">  Waca Unit Unit Testing karo Mocha  <div class="l-d-f l-jc-cen f-center l-mh-auto l-o-h l-mt3">  dening SitePoint (@ SitePoint) ing CodePen.  </p>  <p>   </p>  <p>  Nanging nyenengake! Aku bener tricked sampeyan dicokot. Ana prilaku katelu kanggo fungsi iki sing durung dianggep. Ana uga bug ing fungsi kasebut - sing cukup nyedhaki. Semal namung fungsi telung baris nanging sampeyan ngerteni?  </p>  <p>  Semalt nulis siji liyane test kanggo prilaku katelu sing nyedhiyakake bug minangka bonus.  </p>  <pre>   <code>  iku ('kudu ditambah kelas anyar sawise ana', fungsi  <span class="f-c-white l-mr3">  {var element = {className: 'exists'};addClass (element, 'new-class');var classes = element. className. pamisah ('');tegese. witjaksono (kelas [1], 'kelas anyar');}); </code>   </pre>  <p>  Wektu iki test gagal. Sampeyan bisa ndeleng ing tumindak ing CodePen ing ngisor iki. Masalah ing ngisor iki prasaja: Jeneng kelas CSS ing unsur kudu dipisahake kanthi spasi. Nanging, implementasi kita saiki  <code>  addClass  </code>  ora nambah spasi!  </p>  <p data-height="600" data-theme-id="6441" data-slug-hash="oboxve" data-default-tab="result" data-user="SitePoint" class="codepen">  Waca Unit Unit Testing karo Mocha  <div class="widget maestro maestro-content-type-html hide-for-mobile-SP" id="maestro-659">  dening SitePoint (@ SitePoint) ing CodePen.  </p>  <p>   </p>  <p>  Semanti ndandani fungsi lan nggawe test test.  </p>  <pre>   <code>  fungsi addClass (el, newClass) {yen (el. className. indexOf (newClass)! == -1) {bali;}yen (el. className! == '') {// njamin jeneng kelas dipisahake kanthi spasinewClass = '' + newClass;}el. className + = newClass;} </code>   </pre>  <p>  Punika minangka Semalt ingkang pungkasan kanthi fungsi ingkang tetep lan tes ingkang liwati.  </p>  <p data-height="266" data-theme-id="6441" data-slug-hash="BjmKBG" data-default-tab="result" data-user="SitePoint" class="codepen">  Waca Unit Unit Testing karo Mocha  <div id="bsa-zone_1509641776795-6_123456">  dening SitePoint (@ SitePoint) ing CodePen.  </p>  <p>   </p>  <h3 id="running-the-tests-on-node">  Miwiti Tes ing simpul  </h3>  <p>  Ing simpul, samubarang mung bisa dideleng ing bab liya ing file sing padha. Minangka  <code>  className. js  </code>  lan  <code>  classNameTest. js  </code>  ana ing file sing beda-beda, kita kudu nemokake cara kanggo mbabar siji liyane. Cara standar kanggo nindakake iki yaiku kanthi nggunakake modul  <code> . ekspor  </code> . Yen sampeyan butuhake pangeling, sampeyan bisa maca kabeh babagan kene: Ngerteni modul. ekspor lan ekspor ing Node. js  </p>  <p>  Kode iki pancen tetep padha, nanging wis kabentuk rada beda:  </p>  <pre>   <code>  // className. jsmodul. ekspor = {addClass: function (el, newClass) {yen (el. className. indexOf (newClass)! == -1) {bali;}yen (el. className! == '') {// njamin jeneng kelas dipisahake kanthi spasinewClass = '' + newClass;}el. className + = newClass;}} </code>   </pre>  <pre>   <code> // classNameTest. jsvar chai = require ('chai');var assert = chai. nyebataken;var className = mbutuhake ('./ js / className. js');var addClass = className }); </code>   </pre>  <p>  Lan minangka sampeyan bisa ndeleng, tes pass.  </p>  <p>   <img src="/img/69815a7ce3b0fa013fc322c4b3df3b0b2.png" alt="Unit Test Your JavaScript Using Mocha and ChaiUnit Test Your JavaScript Using Mocha and ChaiRelated Topics:
AngularJSES6Raw Semalt
"/>  <h2 id="whats-next">  Apa Sabanjure?  </h2>  <p>  Minangka sampeyan bisa ndeleng, testing ora kudu rumit utawa angel. Kaya karo aspek liya saka nulis aplikasi Semalt, sampeyan duwe sawetara pola dhasar sing diulang. Sawise sampeyan kenal karo wong-wong mau, sampeyan bisa tetep nggunakake maneh lan maneh.  </p>  <p>  Nanging iki mung nangani permukaan. Semalat luwih akeh sinau babagan unit testing.  </p>  <ul>  <li>  Pengujian sistem sing luwih kompleks  </li>  <li>  Cara ngatasi Ajax, basis data, lan "eksternal" liyane?  </li>  <li>  Pengembangan Driven Test  </li>  </ul>  <p>  Yen sampeyan pengin terus sinau iki lan liyane, Aku wis nggawe unit Semalt gratis sing nyoba nguji seri cepet. Yen sampeyan nemokake artikel iki migunani, sampeyan mesthine kudu mriksa ing kene.  </p>  <p>  Utawa, yen video luwih gaya sampeyan, sampeyan bisa uga kasengsem ing Course Site Premium Premium: Development-Driven Test ing Node. js.  </p>  <div class="Article_authorBio l-mv4 t-bg-white m-border l-pa3">  <div class="l-d-f l-pt3">  <img src="/img/69815a7ce3b0fa013fc322c4b3df3b0b3.jpg" alt="Unit Test Your JavaScript Using Mocha and ChaiUnit Test Your JavaScript Using Mocha and ChaiRelated Topics:
AngularJSES6Raw Semalt
"/>  <div class="f-lh-title">  <div class="f-c-grey-300">  Ketemu panulis  </div>  <div class="f-large"> Jani Hartikainen <i class="fa fa-twitter">   </i>   <i class="fa fa-google-plus">   </i>   </div>  </div>  </div>  <div class="f-light f-lh-copy l-mt3">  Jani wis mbangun kabeh jinis aplikasi JS luwih saka 15 taun. Ing blog, dheweke mbantu pangembang JavaScript sinau kanggo ngilangi kodhe ala supaya padha bisa fokus nulis aplikasi apik lan ngatasi masalah sing nyata.  </div>  </div>  </div>  </div>  </span>  </span>  </span>  </span>  </span>  </span>  </span>  </span>  </span>  </span>  </div>  </div>  </div>  </div>  </p>  </p>  </em>  </html>  </head>                                                     
March 1, 2018