𝗝𝗲𝘀𝘁 𝗧𝗲𝘀𝘁𝗶𝗻𝗴 𝗚𝘂𝗶𝗱𝗲 𝗳𝗼𝗿 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀
Pengujian membantu Anda menemukan bug lebih awal. Ini meningkatkan kualitas kode. Ini memungkinkan Anda merilis fitur tanpa merusak kode lama.
Jest adalah alat pengujian populer untuk JavaScript dan Node.js. Meta yang menciptakannya. Jest bekerja dengan TypeScript, React, Next.js, dan Express.js.
Mengapa menggunakan Jest?
- Membutuhkan sedikit pengaturan.
- Menjalankan pengujian secara paralel agar lebih cepat.
- Menyertakan alat mocking.
- Menampilkan laporan cakupan kode (code coverage).
- Memberikan pesan kesalahan yang jelas.
Cara mengatur Jest:
- Buat proyek Node.js:
npm init -y - Instal Jest:
npm install --save-dev jest - Perbarui skrip package.json untuk menyertakan
"test": "jest" - Jalankan pengujian dengan:
npm test
Menulis pengujian sederhana:
Buat sum.js:
function sum(a, b) {
return a + b;
}
module.exports = sum;
Buat sum.test.js:
const sum = require("./sum");
test("adds two numbers", () => {
expect(sum(2, 3)).toBe(5);
});
Alat Jest yang penting:
- Assertions: Gunakan
expect()dantoBe()untuk memeriksa nilai. - Objects: Gunakan
toEqual()untuk membandingkan objek atau array. - Organization: Gunakan
describe()untuk mengelompokkan pengujian yang terkait. - Async: Jest menangani fungsi async secara alami menggunakan
await. - Mocks: Gunakan
jest.fn()untuk mensimulasikan fungsi. Ini menjaga pengujian tetap cepat dengan menghindari panggilan API atau akses database yang sebenarnya. - Hooks: Gunakan
beforeEach()danafterEach()untuk menyiapkan atau membersihkan data pengujian.
Ukur keberhasilan Anda:
Jalankan npx jest --coverage untuk melihat laporan cakupan Anda. Ini menunjukkan bagian kode mana yang belum memiliki pengujian.
Menguji API:
Gunakan Supertest untuk menguji endpoint API. Anda dapat memeriksa kode status tanpa menjalankan server sungguhan.
Snapshot Testing:
Gunakan matchSnapshot() di React. Ini membantu Anda menemukan perubahan UI yang tidak terduga dengan membandingkan render saat ini dengan versi yang tersimpan.
Praktik terbaik:
- Tulis pengujian yang mendeskripsikan hasil.
- Hindari menguji struktur kode internal.
- Hindari penggunaan database asli dalam unit test.
- Fokus pada cakupan yang bermakna.
Menguasai Jest membantu Anda membangun perangkat lunak yang andal.