gpt4 book ai didi

php - 单元测试 Smarty 模板

转载 作者:可可西里 更新时间:2023-10-31 23:10:16 25 4
gpt4 key购买 nike

我使用 Smarty 模板,我只是想知道是否可以使用任何类型的测试机制。不同模板文件的数量在增加,复杂性也在增加。理想情况下,我很乐意测试最终输出的 HTML,以确保 Smarty 中使用的模板/条件/变量按预期工作。有办法吗?

最佳答案

您可以使用 Smarty 的 fetch()功能。下面是一个松散的示例/伪代码。

待测模板

{* foo.tpl *}
<html>
<head></head>
<body>{$hi}</body>
</html>

预期输出

<!-- foo.html -->
<html>
<head></head>
<body>Hello World!</body>
</html>

测试用例类

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 - 单元测试 Smarty 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6488971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com