Rumah  >  Soal Jawab  >  teks badan

mysql - Bagaimanakah ujian unit Java menguji kod yang mengubah suai bahagian pangkalan data?

Untuk pelbagai pangkalan data CRUDoperasi, 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?

阿神阿神2736 hari yang lalu606

membalas semua(3)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-05-17 10:01:03

    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

    balas
    0
  • 为情所困

    为情所困2017-05-17 10:01:03

    1. Ini bukan ujian unit, tetapi ujian integrasi

    2. 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

    3. Jika anda menggunakan Spring, sila rujuk bab tentang Ujian Integrasi dalam dokumentasi Spring rasmi

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-17 10:01:03

    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

    balas
    0
  • Batalbalas