Menguji Pertanyaan Google App Engine Datastore
Dalam cuba menyatukan pertanyaan stor data ujian, pembangun mungkin menghadapi masalah apabila cuba mengesahkan keputusan. Artikel ini menyelidiki masalah biasa yang dihadapi oleh penguji.
Kegagalan Pertanyaan dalam Ujian
Apabila menguji pertanyaan penyimpan data, adalah perkara biasa untuk menghadapi kegagalan walaupun kod berfungsi dengan betul dalam persekitaran pengeluaran. Pertanyaan dalam ujian selalunya gagal untuk mendapatkan semula data yang telah berjaya dimasukkan.
Sebab Kegagalan: Ketekalan Akhirnya
Inti isu terletak pada penggunaan stor data " konsistensi akhirnya." Ini bermakna pertanyaan tidak konsisten serta-merta dan mungkin mengambil sedikit masa untuk memaparkan kesan pengubahsuaian data terkini.
Isu Simulator Data
Simulator stor data yang digunakan dalam ujian meniru kependaman yang diperhatikan dalam pengeluaran. Apabila memasukkan entiti baharu dan segera menjalankan pertanyaan, pertanyaan itu tidak akan memasukkan entiti baharu kerana data belum disebarkan sepenuhnya.
Selesaikan dengan Kelewatan atau Penyimpan Data Sangat Konsisten
Untuk menyelesaikan isu ini, perkenalkan kelewatan antara stor data.Put() dan panggilan q.GetAll() atau gunakan pilihan StronglyConsistentDatastore. Pertanyaan nenek moyang, yang terkenal dengan konsistensinya yang kuat, juga menyelesaikan masalah ini.
Atas ialah kandungan terperinci Mengapa Ujian Pertanyaan Google App Engine Datastore Saya Gagal Walaupun Bekerja dalam Pengeluaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!