PHPUnit -模拟小枝模板



我正在编写PHPUnit测试,我正在尝试测试我的树枝视图是否正确渲染。

$expected='<html>
<p>The status of user!</p>;
</html>'
self::bootKernel();
$twig = self::$kernel->getContainer()->get('twig');
$actual = $twig->render('user-test.html.twig');
$this->assertEquals($expected, $actual);

但是user-test.html.twig在默认情况下扩展了'base.html.twig,在这个测试用例中不需要。

:

{% extends 'base.html.twig' %}
<html>
<p>The status of user!</p>;
</html>

是否有一种方法,我可以模拟base.html.twig模板和测试只是user-test.html.twig没有抛出错误?

我认为你有一个错误在你的模板,因为如果你扩展另一个模板,你所有的HTML代码需要在{% block blockname %}...{% endblock %}标签与blockname块定义在base.html.twig

{# user-test.html.twig #}
{% extends 'base.html.twig' %}
{% block main %}
<html>
<p>The status of user!</p>;
</html>
{% endblock %}

也许你能做的是,你可以用你需要检查的部分制作另一个模板,并包括它。

{# user-test.html.twig #}
{% extends 'base.html.twig' %}
{% block main %}
{% include '_user-test.html.twig' %}
{% endblock %}
{# _user-test.html.twig #}
<html>
<p>The status of user!</p>;
</html>

然后测试_user-test.html.twig只呈现你想要的。

相关内容

  • 没有找到相关文章

最新更新