2017-05-11 54 views
0

我正在编写一个功能测试,它调用其控制器必须在本地文件系统上读取特定文件的路由。在我的控制器中的代码是:Symfony 2.8功能测试:未找到本地文件的访问

$document_root = $_SERVER['DOCUMENT_ROOT']; 
$patch = $document_root . "/../app/config/tabelle/config.json"; 
if (file_exists($patch)) { ... }else{ die; } 

的问题是,当我运行控制器通过自己的访问URL和我的浏览器加载页面,一切正常。 但是,当我运行我的功能测试,应该加载完全相同的URL,我通过浏览器手动访问,测试失败,因为控制器无法找到该文件。 也许我必须以某种方式配置phpunit,告诉他他必须考虑哪个根文件夹? 谢谢

+0

可能的重复可能是:http://stackoverflow.com/questions/8491437/pass-variable-to-phpunit – k0pernikus

+0

可能的重复:http://stackoverflow.com/questions/41588862/how-to-use-server - 变量功能于PHPUnit的试验情况 – k0pernikus

回答

0

我解决了采用Symfony2原生方式得到ROOT_DIR。而不是使用$ _SERVER ['DOCUMENT_ROOT']我使用:$ document_root = $ this-> container-> getParameter('kernel.root_dir');