标签:php unit-testing testing smarty
我使用Smarty模板,我只是想知道我是否可以使用任何类型的测试机制.不同模板文件的数量正在增加,复杂性也在增加.理想情况下,我希望测试最终输出HTML,以确保Smarty中使用的模板/条件/变量按预期工作.有没有办法做到这一点?
解决方法:
您可以使用Smarty的fetch()
功能.下面是一个松散的示例/伪代码.
要测试的模板
{* foo.tpl *}
<html>
<head></head>
<body>{$hi}</body>
</html>
预期产出
<!-- foo.html -->
<html>
<head></head>
<body>Hello World!</body>
</html>
TestCase类
class FooTemplateTestCase extends TestCase {
protected $_view;
public function setup(){
$this->_view = new Smarty();
// setup smarty options, caching, etc
}
public function test(){
$this->_view->assign('hi', 'Hello World!');
$output = $this->_view->fetch('foo.tpl');
$expected_output = file_get_contents('foo.html');
$this->assertEquals($expected_output, $output);
}
}
标签:php,unit-testing,testing,smarty 来源: https://codeday.me/bug/20190626/1295389.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。