Rumah >Java >javaTutorial >Bagaimana untuk mengintegrasikan Junit antara Java dan Spring?

Bagaimana untuk mengintegrasikan Junit antara Java dan Spring?

WBOY
WBOYke hadapan
2023-04-21 11:13:071293semak imbas

    1 Masalah dan penyelesaian dalam kelas ujian

    1.1 Masalah

    • Dalam kelas ujian, setiap Setiap kaedah ujian mempunyai dua baris kod berikut:

      • ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");

      • IAccountService as = ac.getBean("accountService",IAccountService.class);

    • Fungsi kedua-dua baris kod ini adalah untuk mendapatkan bekas itu akan terus menggesa pengecualian Penunjuk kosong. Jadi ia tidak boleh dipadam dengan mudah.

    1.2 Analisis idea penyelesaian

    • Untuk menangani masalah di atas, apa yang diperlukan ialah program dapat secara automatik buat bekas.

    • junit tidak dapat mengetahui sama ada rangka spring digunakan dan tidak boleh mencipta bekas spring, tetapi junit mendedahkan anotasi yang boleh menggantikan pelarinya.

    • Anda perlu bergantung pada pelari yang disediakan oleh rangka kerja spring Anda boleh membaca fail konfigurasi (atau anotasi) untuk mencipta bekas Anda hanya perlu memberitahunya di mana fail konfigurasi ialah.

    2 Langkah konfigurasi

    2.1 Langkah 1: Salin pakej jar yang diperlukan untuk menyepadukan junit ke direktori lib

    • Ini Perlu diingatkan bahawa apabila mengimport pakej balang, anda perlu mengimport pakej balang aop pada musim bunga.

    Bagaimana untuk mengintegrasikan Junit antara Java dan Spring?

    2.2 Langkah 2: Gunakan @RunWith anotasi untuk menggantikan pelari asal

    @RunWith(SpringJUnit4ClassRunner.class)
    public class AccountServiceTest {
    }

    2.3 Langkah 3: Gunakan @ContextConfiguration menentukan lokasi fail konfigurasi spring

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations= {"classpath:bean.xml"})
    public class AccountServiceTest {
    }
    • @ContextConfiguration anotasi:

      • atribut lokasi: digunakan untuk menentukan konfigurasi lokasi fail. Jika ia berada di classpath, anda perlu menggunakan classpath: untuk menunjukkan

      • atribut kelas: digunakan untuk menentukan kelas anotasi. Apabila tidak menggunakan konfigurasi xml, anda perlu menggunakan atribut ini untuk menentukan lokasi kelas anotasi.

    2.4 Langkah 4: Gunakan @Autowired untuk menyuntik data ke dalam pembolehubah dalam kelas ujian

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations= {"classpath:bean.xml"})
    public class AccountServiceTest {
     
        @Autowired
        private IAccountService as ;
    }

    3 Jangan tetapkan kelas ujian kepada xml Sebab

    • Pertama: Apabila kacang dikonfigurasikan dalam xml dan spring memuatkan fail konfigurasi untuk mencipta bekas, objek akan dicipta.

    • Kedua: Kelas ujian hanya digunakan apabila menguji fungsi Dalam projek, ia tidak mengambil bahagian dalam logik program dan tidak akan menyelesaikan masalah permintaan, jadi selepas ia dibuat, ada tak guna. Kemudian menyimpannya di dalam bekas akan menyebabkan pembaziran sumber.

    Atas ialah kandungan terperinci Bagaimana untuk mengintegrasikan Junit antara Java dan Spring?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam