我不确定我想做什么是可能的:我正在尝试在父模板中获取一个块,以便由父模板的子模板中包含的文件填充.
解释这个的最好方法是测试用例:
文件t1.djhtml:
<root>
<block t3_container>
{% block t3 %}This should be 'CONTENT'{% endblock %}
</block t3_container>
<block t2_container>
{% block t2 %}{% endblock %}
</block t2_container>
</root>
Run Code Online (Sandbox Code Playgroud)
文件t2.djhtml:
{% extends 't1.djhtml' %}
{% block t2 %}
<block t2>
{%- include 't3.djhtml' with context %}
</block t2>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
文件t3.djhtml:
{% block t3 %}
<block t3>
CONTENT
</block t3>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
文件test.py:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('')) …Run Code Online (Sandbox Code Playgroud) 我有一个项目,我开始,然后弹出,与react-create-app,我开始编写测试.由于我使用的是最新节点,因此我不需要运行许多测试的babel变换.(这有利于简化回溯).但是,我无法弄清楚如何在运行测试时阻止babel转换我的代码.
在我的package.json我有
{
"scripts": {
"test": "BABEL_ENV=test node --harmony scripts/test.js --env=jsdom"
},
"jest": {
"moduleFileExtensions": [
"jsx",
"js",
"json"
],
"moduleNameMapper": {
"^.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/config/jest/FileStub.js",
"^.+\\.css$": "<rootDir>/config/jest/CSSStub.js"
},
"setupFiles": [
"<rootDir>/config/polyfills.js"
],
"testPathIgnorePatterns": [
"<rootDir>/(build|docs|node_modules|scripts)/"
],
"testEnvironment": "node"
}
}
Run Code Online (Sandbox Code Playgroud)
我的.babelrc文件如下所示:
{
"presets": [
["es2015", { "modules": false }],
"react-app"
],
"plugins": [
["transform-class-properties", { "spec": true }],
["transform-flow-strip-types"]
],
"env": {
"test": {
"presets": [
"node7",
"react-app"
],
"plugins": [
["transform-class-properties", { "spec": true }],
["transform-flow-strip-types"]
]
}
}
} …Run Code Online (Sandbox Code Playgroud)