Latihan - Menginstal paket

Selesai

Tim Tailwind Traders berencana untuk mengembangkan beberapa aplikasi Node.js. Mereka telah menemukan Jest, kerangka kerja pengujian zero-config populer, di registri npm. Mereka ingin Anda menginstal Jest, menulis beberapa tes, dan menjalankannya untuk mengevaluasi efektivitasnya.

Menambahkan paket pengujian dengan Npm CLI

Anda memiliki beberapa kode yang mengekstrak alamat dari string. Pekerjaan Anda sederhana: instal kerangka kerja pengujian, tulis beberapa pengujian, dan jalankan.

  1. Di jendela terminal baru (Ctrl + Shift + `), ubah ke folder yang memiliki file untuk latihan ini:

    cd node-dependencies/5-exercise-dependency
    
  2. Lihat isi folder:

    ls -R
    

    Di folder ini, Anda akan melihat dua file JavaScript:

    -| address-parser.js
    -| package.json
    
  3. Buka file address-parser.js. Tampilannya akan seperti file ini:

     exports.addressParser = function parseOrder(order) {
       const match = order.match(/order:\s(?<order>\w+\s\w+).*address:\s(?<address>\w+\s\w+\s\w+).*payment info:\s(?<payment>\w+)/)
       return match.groups;
     }
    

    Fungsi ini mengambil string dan mengurai informasi tentang hal yang dipesan pelanggan, tujuan pesanan tersebut harus dikirimkan, dan cara pembayarannya. Kita akan menambahkan Jest dan menulis beberapa tes untuk fungsi tersebut.

  4. Tutup file address-parser.js.

  5. Instal paket Jest dengan menjalankan perintah ini:

    npm install jest --save-dev
    
  6. Setelah paket Jest diinstal, buka package.json file dan temukan bagian .devDependencies Anda akan melihat entri yang terlihat seperti contoh ini di mana nilai untuk jest properti adalah nomor versi semantik:

    "devDependencies": {
       "jest": "<number.number.number>"
     }
    
  7. Di file package.json, temukan bagian scripts. Ganti entri tindakan test yang ada dengan kode berikut:

    "test": "jest"
    
  8. Simpan perubahan Anda dan tutup file package.json.

  9. Di terminal, buat subfolder baru bernama __tests__.

    mkdir __tests__
    

    Catatan

    Pastikan Anda menggunakan garis bawah ganda saat membuat folder __tests__ . Folder pengujian adalah konvensi penamaan yang digunakan oleh Jest, kerangka kerja pengujian. Jest secara otomatis mengenali file apa pun dalam folder pengujian (atau file dengan .test. atau .spec. dalam namanya) sebagai file pengujian dan menyertakannya saat menjalankan pengujian. Konvensi ini membantu menjaga file pengujian tetap terorganisir dan mudah diidentifikasi dalam proyek Anda.

  10. Di folder __tests__, buat file bernama address-parser.spec.js, lalu tambahkan konten berikut ke file:

     const { addressParser } = require('../address-parser');
    
     describe('Address Parser', () => {
         test('should parse correctly', () => {
             expect(addressParser("I want to to order: 3 books to address: 112 street city here is my payment info: cardnumber")
             ).toEqual({
                 order: "3 books",
                 address: "112 street city",
                 payment: "cardnumber",
             });
         });
     });
    

    Skrip pengujian:

    • Memeriksa kemampuan penguraian fungsi address-parser.js.
    • Memastikan fungsi dapat mengurai informasi yang diperlukan dengan benar.
  11. Simpan perubahan Anda dan tutup file.

  12. Struktur proyek Anda sekarang akan terlihat seperti contoh ini:

    -| package.json
    -| address-parser.js
    -| __tests__/
    ---| address-parser.js
    
  13. Jalankan tes dengan memasukkan perintah ini di terminal:

    npm run test
    

    Anda akan menemukan output berikut:

      PASS  __tests__/address-parser.js
       Address parser
         ✓ should parse correctly (2 ms)
    
     Test Suites: 1 passed, 1 total
     Tests:       1 passed, 1 total
     Snapshots:   0 total
     Time:        0.4 s
     Ran all test suites.
    

    Berhasil! Tes Anda lulus, dan Anda menambahkan pengujian dengan menginstal dependensi.

Selamat. Anda berhasil menginstal Jest sebagai dependensi, menulis pengujian untuk kode aplikasi, dan menjalankan pengujian. Jest tampaknya menjanjikan, dan Tailwind Traders kemungkinan besar akan senang dengan evaluasi ini.