Secara efektif bermigrasi dari lelucon ke Vitest di proyek berikutnya. – Beragampengetahuan
Vitest adalah kerangka pengujian canggih untuk menyelesaikan masalah yang dihadapi oleh kerangka kerja tes lama seperti Jest. Ini dirancang lebih cepat, lebih tipis, memiliki API yang rapi dan, yang lebih penting, proyek yang menggunakan fitur javascript modern dan toolchain lebih efisien.
Contents
Mengapa Vitest Menciptakan?
Vitest diciptakan untuk memberikan rotasi baru pada tes JavaScript. Kecepatan cahaya dan kilat fokus pada kinerja dan fitur JavaScript modern seperti modul ES. Tidak seperti Jest, Vitest dibangun oleh Vite, alat build front-end modern, yang berarti dapat memanfaatkan modul ES (dan hal-hal baru yang mengkilap) untuk menginisialisasi dan menjalankan tes lebih cepat.
Terlebih lagi, jika Anda menggunakan Vite untuk memberi daya pada proyek web Anda, hampir konyol untuk beralih ke Vitest (tidak seperti beralih dari karma ke lelucon, itu berbeda). Dalam arti tertentu, Vitest adalah tanah yang dijanjikan yang harus dilakukan oleh semua penguji JavaScript.
Apa kekurangan lelucon?
Meskipun Jest menyediakan satu set lengkap kemampuan pengujian, efisiensinya berkurang di beberapa bidang:
- Startup lambat dan pelaksanaan basis kode besar. Jenis lelucon bisa lambat untuk memulai dan menjalankan tes, terutama dalam basis kode besar, karena membutuhkan modul konversi dan mengelola konfigurasi berat.
- Kompatibilitas lelucon dengan alat modern. Untuk bekerja dengan sempurna dengan alat modern seperti modul Vite dan ES, Jest membutuhkan pengaturan tambahan. Ini biasanya berarti menggunakan plug-in atau adaptor. Misalnya, untuk mendapatkan dukungan TypeScript, Anda dapat menggunakan
ts-jest. - Pemanfaatan sumber daya. Lelucon mengkonsumsi banyak sumber daya, yang mungkin merupakan kelemahan dari pipa CI/CD. Pelari uji yang ingin sumber daya dapat menyebabkan waktu pembangunan yang lebih lama dan dapat meningkatkan biaya cloud Anda.
Mengapa tim harus mempertimbangkan bermigrasi ke Vitest?
Dalam hal meningkatkan efisiensi pengembangan, kami melihat tim pindah ke Vitest karena berbagai alasan:
- Naskah telah didukung sejak awal. Tim yang menggunakan Vitest tidak perlu mengonfigurasi apa pun yang ekstra, karena TypeScript didukung secara lokal. Ini bisa menjadi kemenangan besar bagi tim yang sering menggunakan naskah.
- Kecepatan yang ditingkatkan. Tim pengembangan dapat melakukan 50% lebih cepat. Ini dapat mengulang lebih cepat dalam pengembangan produk yang sebenarnya dan membantu tim merespons lebih cepat.
- Konfigurasi yang disederhanakan. Untuk proyek yang menggunakan vite, berintegrasi dengan Vitest sederhana. Tidak perlu untuk kecurangan atau penyesuaian yang kompleks, dan ketika menggunakan beberapa pengaturan, tentu saja jauh lebih sedikit, hanya membingungkan.
- Tren pengembangan saat ini. Vitest dibangun melalui pendekatan berwawasan ke depan. Tidak hanya memicu kemampuan javascript mutakhir secara lokal, tetapi juga mempromosikan adopsi dari apa yang saat ini dianggap sebagai praktik pengujian perangkat lunak terbaik.
Dalam artikel ini, saya menguraikan cara untuk memigrasi aplikasi berikutnya dari lelucon ke Vitest, menyoroti strategi yang telah saya adopsi untuk terus berjalan dengan lancar dan produktivitas tim saya dalam hal meningkat.
Pengaturan Awal: Lelucon dan Vitest Bersama
Strategi migrasi kami dimulai dengan baja yang kaya sejajar dengan ejekan, memungkinkan pengujian kami untuk bergerak dengan lancar ke pengaturan baru ini tanpa menghentikan kecepatan pengembangan kami.
Langkah 1: Pasang Vitest
Pertama mentransfer beberapa file uji untuk memeriksa pengaturan. Ubah konfigurasi bercanda sehingga tes Vitest baru diperhitungkan:
Langkah 2: Mengkonfigurasi Vitest
Menghasilkan file vite.config.ts untuk mengatur lingkungan vitest awal:
import fileURLToPath, URL from 'url';
import defineConfig from 'vitest/config';
export default defineConfig(
test:
setupFiles: './vitest-setup.ts',
environment: 'jsdom',
include: ['tests-vitest/**/*.test,spec.?(c,
resolve:
alias: [ find: '@/', replacement: fileURLToPath(new URL('./', import.meta.url)) ],
);
Langkah 3: Siapkan lingkungan pengujian
termasuk vitest-setup.ts terintegrasi jest-dom Dengan Vitest:
import "@testing-library/jest-dom/vitest";
Merevisi package.json Termasuk skrip untuk menjalankan lelucon dan Vitest:
"scripts":
"test": "jest",
"test:vitest": "vitest"
Migrasi tambahan file uji
Perlahan memigrasikan file uji dari lelucon ke Vitest. Pindahkan file uji ke direktori terpisah dan lakukan penyesuaian yang diperlukan untuk file.
Langkah 4: Migrasi file uji awal
Pertama mentransfer beberapa file uji untuk memeriksa pengaturan. Ubah konfigurasi bercanda sehingga tes Vitest baru diperhitungkan:
module.exports =
testMatch: ['<rootDir>/tests/**/?(*.)+(spec
Langkah 5: Verifikasi perubahan
Pastikan kedua kerangka kerja tes berjalan sebagaimana mestinya dan semua tes akan menghasilkan status lulus. Sesuaikan pipa CI Anda untuk melakukan tes untuk bercanda dan vitest.
Transisi Lengkap ke Vitest
Setelah semua tes telah diverifikasi untuk berjalan dengan benar di bawah Vitest, mulailah untuk menyingkirkan tahap akhir dari bercanda.
Langkah 6: Pindahkan semua tes ke Vitest
Ringkasan Semua tes ke direktori uji utama dan memodifikasi konfigurasi vitest yang cocok.
Langkah 7: Hapus lelucon dan konfigurasi terkait
Hapus instalasi lelucon dan hapus file konfigurasi yang terkait dengannya.
sebagai kesimpulan
Perlahan beralih ke Vitest memungkinkan kami untuk meningkatkan efisiensi kerangka kerja pengujian kami dan menghindari menempatkan tim kami dalam situasi di mana kami mungkin kewalahan atau dalam pengaturan CI/CD, dalam hal ini hal -hal dapat dengan mudah menjadi membingungkan.
Secara keseluruhan, kami menemukan bahwa Vitest membuat eksekusi kami sedikit lebih cepat (sekitar 50%), sementara juga menjadi solusi tipografi lengkap.
rencana pengembangan website
metode pengembangan website
jelaskan beberapa rencana untuk pengembangan website, proses pengembangan website, kekuatan dan kelemahan bisnis pengembangan website
, jasa pengembangan website, tahap pengembangan website, biaya pengembangan website
#Secara #efektif #bermigrasi #dari #lelucon #Vitest #proyek #berikutnya