TYPO3 4.5 extbase测试后端模块

时间:2013-03-11 16:22:35

标签: unit-testing phpunit typo3 fluid extbase

我搜索测试我的extbase-extension的方法。我使用两个不同的模板路径进行前端和后端。

module.myext{
    view {
        templateRootPath = myext/Resources/Private/Backend/Templates/
        partialRootPath = myext/Resources/Private/Backend/Partials/
        layoutRootPath = myext/Resources/Private/Backend/Layouts/
    }
}

backendmodule没有任何问题,但我的测试不会得到不同的模板路径。如果我在ext_typoscript_setup.txt中将view.templateRootPath写入config.tx_extbase它可以工作,但在这种情况下,我的所有前端测试都不再起作用。解决此问题的最简单方法是合并模板路径并仅使用一个,但必须有解决方案。

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

您是否在根页面中静态包含扩展程序设置?

然后只要将后端模块包含在Web工具中并在页面树中选择根页面,后端模块就应该工作...

如果在用户工具中包含模块,则这是一个已知错误。见这里:

http://lists.typo3.org/pipermail/typo3-project-typo3v4mvc/2011-December/011174.html

您可以将此代码放在* ext_localconf.php *:

if (TYPO3_MODE === 'BE') {
    t3lib_extMgm::addTypoScript($_EXTKEY, 'constants', $tsIncludeConstants);
    t3lib_extMgm::addTypoScript($_EXTKEY, 'setup', $tsIncludeSetup);
}

其中$tsIncludeXX是您的TS代码,包含您的扩展程序的配置文件:

$tsIncludeConstants = "<INCLUDE_TYPOSCRIPT: source=FILE:EXT:$_EXTKEY/Configuration/TypoScript/constants.txt>";
$tsIncludeSetup = "<INCLUDE_TYPOSCRIPT: source=FILE:EXT:$_EXTKEY/Configuration/TypoScript/setup.txt>";

这是一种蛮力,但它有效......