Untuk pelbagai pangkalan data CRUD
operasi, ujian unit yang sepadan mesti ditulis. Tidak banyak masalah dengan carian, tetapi akan ada masalah dengan penambahan, pemadaman dan pengubahsuaian Memandangkan kod berjalan dalam persekitaran pengeluaran, ia tidak boleh diubah.
Sekarang apa yang saya fikirkan ialah penyelesaiannya adalah untuk mencipta pangkalan data lain untuk data pembangunan yang berasingan daripada pangkalan data dalam persekitaran pengeluaran, tetapi ini agak menyusahkan. Sila beritahu saya bagaimana ujian unit kod yang perlu mengubah suai pangkalan data secara amnya dilakukan dalam proses pembangunan sebenar perusahaan?
Saya secara ringkas melihat mockito
pengenalan, tetapi saya nampaknya tidak menemui penyelesaian yang baik. Bolehkah sesiapa memberi sebarang cadangan atau mengesyorkan maklumat dalam bidang ini?
Nota:
Saya melihat pengenalan kepada ujian unit ini dalam komuniti IBM:
Ujian unit sepatutnya mudah dilaksanakan. Pelaksanaan ujian unit tidak memerlukan operasi yang rumit seperti konfigurasi untuk dijalankan. Jika kod ujian unit termasuk akses kepada pangkalan data, rangkaian, dsb., ujian itu bukanlah ujian unit yang benar.
Salah satu cara untuk mengatakannya ialah单元测试是不允许连接真实的数据库的,所以一切数据库操作都要mock
, jadi bagaimana kod pangkalan data harus diuji?
Ujian unit boleh dilakukan menggunakan h2. Secara amnya, pembangunan peringkat perusahaan mempunyai persekitaran ujiannya sendiri, dan bukan masalah besar untuk menguji pangkalan data secara langsung
Ini bukan ujian unit, tetapi ujian integrasi
Anda tidak boleh menggunakan pangkalan data dalam memori seperti h2, kerana sintaks dan ciri pangkalan data ini berbeza daripada pangkalan data pengeluaran anda, yang boleh menyebabkan kegagalan ujian
Jika anda menggunakan Spring, sila rujuk bab tentang Ujian Integrasi dalam dokumentasi Spring rasmi
Gunakan pangkalan data dalam memori untuk menyelesaikan masalah ini. Selepas memperkenalkan pangkalan data dalam memori, anda perlu mengurus skrip ddl dan skrip dml data permulaan yang diperlukan dalam kod
Mulakan pangkalan data dalam memori setiap kali anda menjalankan ujian unit, flash skrip ddl dan dml, dan kemudian. laksanakan logik ujian unit Alat skrip pangkalan data pengurusan yang disyorkan termasuk laluan terbang dan liquibase