2010-04-05 11 views
5

Zend Eğitimi, bir isteğin oluşturduğu çıktıyı kontrol etmek için pek çok iddiayı listeler.Birim Zend Framework'de json çıktısı

http://framework.zend.com/manual/en/zend.test.phpunit.html

Fakat hepsi çıktı html olduğunu varsaymak gibi görünüyor. Bunun yerine json çıkışını test etmem gerekiyor.

Json'u kontrol etmede yardımcı olabilecek herhangi bir iddia var mı, yoksa çıktıya karşı iddialarda bulunmanın en azından genel bir yolu var mı? 'un html çıktısını alma isteğine dayanmayan bir şey var mı?

cevap

13

Zend_Test_PHPUnit'te uygulanan JSON'a özgü onaylama yöntemleri yoktur. Bununla birlikte, yapmak isteyeceğiniz ilk test, JSON'un geçerli olduğunu kontrol etmektir, böylece orijinal türüne (dizi/nesne) dönüştürülür. Bundan sonra, içeriğini doğrulamak için PHPUnit'in jenerik assertions'u kullanacak konumdasınız.

GÜNCELLEME:

$this->getResponse()->getBody(); 
+0

o kadar bir yönlendirme veya bir istisna ve var olup olmadığını kontrol etmenin yollarını sunan bir yanıt nesnesi var: Aşağıdaki (uzanan Zend_Test_PHPUnit_ControllerTestCase) yapabilirsiniz Ham yanıt gövdesini almak için on, ve html olarak ayrıştırmak için teklifler, ama ham yanıt almak için herhangi bir yol bulamıyorum. – lyle

+0

Lütfen cevabın güncellemesine bakın. – nuqqsa

+0

Evet, işte bu, teşekkürler! :) Ben her zaman 'getBody' html çıktısının etiketine atıfta bulunduğunu varsaydım, çeviride kaybolmuş gibi görünüyor. – lyle