5
Zend教程列出了許多斷言來檢查請求生成的輸出。Zend Framework中的單元測試json輸出
http://framework.zend.com/manual/en/zend.test.phpunit.html
但他們似乎都假定輸出HTML。我需要測試json輸出。
是否有任何斷言有助於檢查json,還是至少有一種通用的方法來對輸出進行斷言? 什麼不依賴於輸出html的請求?
Zend教程列出了許多斷言來檢查請求生成的輸出。Zend Framework中的單元測試json輸出
http://framework.zend.com/manual/en/zend.test.phpunit.html
但他們似乎都假定輸出HTML。我需要測試json輸出。
是否有任何斷言有助於檢查json,還是至少有一種通用的方法來對輸出進行斷言? 什麼不依賴於輸出html的請求?
在Zend_Test_PHPUnit中沒有針對JSON實現的斷言方法。但是,您可能想要做的第一個測試是檢查JSON是否有效,從而將其轉換爲其原始類型(數組/對象)。從那時起,您就可以使用PHPUnit的通用assertions來驗證其內容。
UPDATE:要獲得原始響應身體,你可以做以下(擴展時Zend_Test_PHPUnit_ControllerTestCase):
$this->getResponse()->getBody();
有一個響應對象,提供方法來檢查它是否是一個重定向,或異常等上,並提供解析它爲HTML,但我找不到任何方式獲得原始響應。 – lyle 2010-07-06 01:51:42
請參閱答案中的更新。 – nuqqsa 2010-07-14 20:58:06
是的,就是這樣,謝謝! :)我總是認爲'getBody'會引用html輸出的
標記,看起來像是在翻譯中丟失了。 – lyle 2010-07-20 04:04:48