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.
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.
Ini Perlu diingatkan bahawa apabila mengimport pakej balang, anda perlu mengimport pakej balang aop pada musim bunga.
@RunWith(SpringJUnit4ClassRunner.class) public class AccountServiceTest { }
@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.
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations= {"classpath:bean.xml"}) public class AccountServiceTest { @Autowired private IAccountService as ; }
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!