gpt4 book ai didi

python - 如何对 jinja2 模板逻辑进行单元测试?

转载 作者:行者123 更新时间:2023-12-01 19:08:55 25 4
gpt4 key购买 nike

我一直在寻找一种对 jinja2 模板进行单元测试的方法。我已经做了一些研究,但我唯一能找到的就是如何测试传递给模板的变量: how to unittest the template variables passed to jinja2 template from webapp2 request handler

换句话说,我想测试模板中使用的逻辑是否正在生成预期的输出。

我认为我可以创建一个“黄金”文件,这样我就可以将生成的文件与黄金文件进行比较,但是由于可能性的数量,这将需要太多“黄金”文件。

还有其他想法吗?

最佳答案

为什么不在测试中简单地将模板渲染为字符串,然后检查渲染的模板是否正确?

与此类似的东西:

import jinja2

# assume it is an unittest function
context = { # your variables to pass to template
'test_var': 'test_value'
}
path = 'path/to/template/dir'
filename = 'tempalte_to_test.tpl'

rendered = jinja2.Environment(
loader=jinja2.FileSystemLoader(path)
).get_template(filename).render(context)

# `rendered` is now a string with rendered template
# do some asserts on `rendered` string
# i.e.
assert 'test_value' in rendered

但我不确定如何计算覆盖范围。

关于python - 如何对 jinja2 模板逻辑进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42090084/

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