Cloud Code Functions

Unit Testing pada Cloud Code Menggunakan Parse di Back4App

22min

Cara Membuat Unit Test melalui Fungsi Cloud Code mereka

Pendahuluan

Bagian ini akan memungkinkan Anda untuk memeriksa operasi dan pengujian fungsi Anda secara lokal menggunakan pustaka parse-server-test-runner.

Prasyarat

  • Untuk menyelesaikan tutorial ini, Anda akan membutuhkan:
  • Lingkungan lokal dengan Node.js terinstal untuk menerapkan unit test. Anda dapat mengikuti tutorial resmi NodeJS untuk berhasil menginstal Node.js di terminal Anda.
  • Sebuah aplikasi yang dibuat di Back4App.
  • Ikuti tutorial Membuat Aplikasi Baru untuk belajar cara membuat aplikasi di Back4App.
  • Back4App Command Line yang dikonfigurasi dengan proyek.
  • Ikuti tutorial Menyiapkan Cloud Code untuk belajar cara menyiapkan cloud code untuk proyek.

Pertama-tama, kita perlu membicarakan tentang Unit Test!

Ketika pengembang mulai menulis fungsi dengan berbagai niat dalam pikiran, satu poin utama yang terlihat di komunitas perangkat lunak adalah penerapan skenario imajiner untuk kode yang dibuat agar dapat diuji. Sangat penting untuk melakukan prosedur Unit Tests karena ini memungkinkan Anda untuk menguji kode secara terpisah, yang memastikan bahwa kode utama Anda tetap utuh dan tidak terganggu.

Dan sekarang, bagaimana dengan contoh praktis yang sederhana?

Mari kita anggap bahwa Anda perlu menulis sebuah fungsi untuk menunjukkan dalam kalimat lengkap, nama dari pekerja, posisi dan perusahaan. Kita perlu menulis fungsi untuk mendapatkan item input berikut:

  • Perusahaan
  • Posisi
  • Nama pekerja

Langkah-langkah untuk menyelesaikan tes sederhana

Di terminal Anda, pertama-tama, kita akan membuat direktori dan mengonfigurasi Aplikasi tes Anda (package.json) terlebih dahulu, menggunakan perintah berikut:

$ mkdir unit-test-sample && cd unit-test-sample $ npm init

Petunjuk: Menggunakan npm init perintah, Anda akan dapat membuat file package.json. Ini hanya mencakup item yang paling umum dan mencoba menebak default yang masuk akal. Karena itu, kita akan menyediakan dependensi yang diperlukan agar kode dapat berfungsi.

Hasil dari β€œpackage.json” akan menjadi sesuatu seperti contoh di bawah ini:

JSON
ο»Ώ

Sekarang, mari kita buat file (index.js) menggunakan perintah di bawah ini:

~/unit-test-sample$ touch index.js

Kami sekarang akan memasukkan kode di bawah ini ke dalam file yang telah dibuat sebelumnya, dan fungsi ini akan memasukkan contoh yang dapat mendemonstrasikan tes ini dengan kode:

JS
ο»Ώ

Di NodeJS, modul mengenkapsulasi kode terkait ke dalam satu unit kode, dan ketika Anda menggunakan module.exports, itu meningkatkan kode yang terenkapsulasi yang dapat digunakan di file lain.

Mari kita uji 0/

Akhirnya, Anda dapat bekerja dengan terminal Anda:

~/unit-test-sample$ node > var moduleBack4App = require('./index.js'); undefined > moduleBack4App("Jonathan", "Developer", "Back4App") Hi, Jonathan! Anda adalah Developer di perusahaan Back4App.

Petunjuk: Menggunakan require() fungsi, Anda dapat mengimpor dan mengekspor modul, dan dalam kasus di atas, kami menggunakan fungsi ini untuk memerlukan file di dalam aplikasi.

Dan menggunakan Parse, bisakah saya menguji fungsi saya?

Tentu saja, sebagai parameter uji, kami akan membuat backend untuk mengontrol informasi karyawan perusahaan.

Mari kita strukturkan kelas sebagai:

Parse.User (Referensi untuk karyawan)

  • username, email, password (diperlukan)

Kami merekomendasikan Anda untuk melihat dengan seksama Panduan Parse Server untuk mendapatkan informasi lebih lanjut tentang properti User.

infoEmployee

  • Posisi
  • Departemen
  • ShiftKerja
  • userId (Pointer)

1 - Pahami struktur akhir kami

Mari kita mulai! Kami akan menggunakan Panduan Javascript Parse Server sebagai parameter untuk pengembangan fungsi kami. Pertama, setelah menyelesaikan pengaturan menggunakan Antarmuka Baris Perintah (lihat prasyarat), kita akan memahami bagaimana ini akan bekerja dengan struktur akhir dari file-file:

β”œβ”€β”€ProyekBack4App β”‚ β”œβ”€β”€ cloud β”‚ β”‚ β”œβ”€β”€ functions.js β”‚ β”‚ β”œβ”€β”€ main.js β”‚ β”œβ”€β”€ publik β”‚ β”œβ”€β”€ package.json β”‚ β”œβ”€β”€ index.js β”‚ β”œβ”€β”€ node_modules β”‚ β”œβ”€β”€ src β”‚ β”‚ β”œβ”€β”€ jasmine.js

Perhatian: Ketika Anda mengunggah file ke Cloud Code Anda, Antarmuka Baris Perintah (Lihat prasyarat) akan mengabaikan file lain dan hanya mengunggah file yang ada di folder publik dan cloud.

2 - Menulis fungsi kami

Setelah mengonfigurasi lingkungan untuk Antarmuka Baris Perintah, kita akan menulis fungsi untuk membangun proses untuk mendaftarkan Karyawan dan menyimpan informasi tambahan. Dengan merombak kode, di file main.js, kita akan mengimpor fungsi-fungsi ini ke dalam main, seperti:

JS
ο»Ώ

Ide ini adalah untuk memisahkan fungsi dari antarmuka cloud sehingga kita dapat mengujinya tanpa mengirim permintaan HTTP secara tidak efisien. Ini akan sangat masuk akal saat kita membuat suite pengujian.

Parse Server 3.X
Parse Server 2.X
ο»Ώ

3 - Menyiapkan lingkungan untuk menguji kode di atas!

Untuk suite pengujian kami, kami akan menggunakan Jasmine, sebuah kerangka pengujian JavaScript yang sangat populer. Namun, kode kami sejauh ini sepenuhnya netral terhadap pengujian kami, jadi Anda dapat menggunakan kerangka kerja atau platform apa pun yang Anda pilih.

Instal ketergantungan pengembangan

Mari kita instal Jasmine secara global dan gunakan, dengan perintah di bawah ini:

~/Back4AppProject$ sudo npm install -g jasmine ~/Back4AppProject$ jasmine Acak dengan benih 48094 Dimulai Tidak ada spesifikasi ditemukan Selesai dalam 0.002 detik Tidak lengkap: Tidak ada spesifikasi ditemukan

4 - Mengonfigurasi Penguji Parse Server di folder

Dengan metode kami yang diterapkan di folder Cloud proyek di Back4App, kami akan membuat file baru di proyek kami di Node.js yang akan mengonfigurasi interaksi ini.

~/Back4AppProjectsrc$ touch index.js ~/Back4AppProject$ mkdir src && cd src ~/Back4AppProject/src$ touch jasmine.js

Sekarang, kita akan mengonfigurasi file yang dibuat di atas dengan kode yang ditunjukkan di bawah ini:

index.js
jasmine.js
ο»Ώ

Langkah terakhir adalah mengonfigurasi package.json, menggunakan perintah: $ npm init di direktori root (file di bawah ini hanya contoh dengan modul yang diperlukan):

JSON
ο»Ώ

Dan sekarang, Anda akan memeriksa bahwa kita mendekati struktur yang dijelaskan dalam langkah-langkah sebelumnya :)

5 - Kembali ke terminal

Kami akan mulai mengonfigurasi pengujian lokal, untuk ini kami akan mengikuti perintah di bawah ini untuk mengatur secara programatis untuk tujuan pengujian.

~/Back4AppProject$ # di direktori yang sama dari package.json ~/Back4AppProject$ npm install

Setelah instalasi berhasil, Anda dapat memeriksa pengujian unit Anda secara lokal dengan perintah yang dijelaskan dan menerima hasilnya, seperti:

~/Back4AppProject$ jasmine src/jasmine.js Diacak dengan seed 79055 Dimulai βœ” Diunduh MongoDB 3.6.5 [] . 1 spesifikasi, 0 kegagalan Selesai dalam 19.983 detik Diacak dengan seed 79055 (jasmine --random=true --seed=79055)

Luar biasa, sudah siap!

Dengan panduan yang dijelaskan di atas, Anda dapat bekerja dengan Parse Server Test Runner dan fungsi-fungsi yang dikembangkan untuk Cloud Code ke Back4App.