首页 / JSON / 用于JSON输出的PHPUnit测试
用于JSON输出的PHPUnit测试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用于JSON输出的PHPUnit测试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2233字,纯文字阅读大概需要4分钟。
内容图文
![用于JSON输出的PHPUnit测试](/upload/InfoBanner/zyjiaocheng/826/883b6f48c4af490ebdeb5147f341c340.jpg)
为什么我不能得到输入并测试它是否为空?
我测试的方法是:
/**
* @method: getCategory
* retrieves the categories
* @return json category data
*/
public function getCategory() {
$cat = $this->em->getRepository('Entities\Category')->findAll();
$data = array();
foreach ($cat as $res) {
$data[] = array(
'catId' => $res->__get('catId'),
'category' => $res->__get('category'),
'item' => $res->__get('item')
);
}
echo json_encode($data);
}
我的测试:
/**
* @covers Category::getCategory
* @todo Implement testGetCategory().
*/
public function testGetCategory() {
$json = $this->object->getCategory();
$this->assertNotNull($json);
}
错误消息,它返回一个JSON对象数组:
PHPUnit 3.7.8 by Sebastian Bergmann.
F[{"catId":1,"category":"FLORALS2","item":"RED ROSES"},
{"catId":2,"category":"TENTS","item":"12X14"},
{"catId":3,"category":"FLORAL","item":"WHITE ROSES"},
{"catId":4,"category":"TENTS","item":"15X24"},
{"catId":5,"category":"CHAIRS","item":"BLACK CHAIR"},
{"catId":6,"category":"CHAIRS","item":"RED CHAIRS"},
{"catId":7,"category":"TENTS","item":"23X23"},
{"catId":8,"category":"CANDLES","item":"RED CANDLES"},
{"catId":9,"category":"CANDLES","item":"WHITE CANDLES"},
{"catId":10,"category":"CANDLES","item":"BLACK CANDLES"},
{"catId":11,"category":"CANDLES","item":"ORANGE CANDLES"},
{"catId":12,"category":"TABLE","item":"4X8 TABLE"},
{"catId":13,"category":"DRAPERYS","item":"24\" WHITE LINEN"},
{"catId":14,"category":"LINEN","item":"WHITE CURTAINS"},
{"catId":17,"category":"DRAPERY","item":"SILK TABLE CLOTH"},
{"catId":18,"category":"FLORAL","item":"ORANGE DAISIES"}]..Time: 0 seconds, Memory: 10.25Mb
There was 1 failure:
1)
CategoryTest::testGetCategory
Failed asserting that null is not
null.
/var/www/praiseDB/tests/controller/CategoryTest.php:42
解决方法:
你的getCategory()函数回应了一些东西:
echo json_encode($data);
但它不会返回任何东西.
因此,$json变量在测试中将为null.
您可能想要在函数末尾返回值:
return json_encode($data);
要测试输出,您需要在测试中使用expectOutputString()或expectOutputRegex()方法.为了测试非空输出,我相信以下应该做:
/**
* @covers Category::getCategory
* @todo Implement testGetCategory().
*/
public function testGetCategory() {
$this->expectOutputRegex('/./');
$this->object->getCategory();
}
有关如何断言输出的详细信息,请参见phpunit documentation.
内容总结
以上是互联网集市为您收集整理的用于JSON输出的PHPUnit测试全部内容,希望文章能够帮你解决用于JSON输出的PHPUnit测试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。