我的某个文件的路径有问题。我想在我的phpunit测试中包含一个文件。在我们的中央存储库中,它位于:
include 'secure\functions.php';
但是我在运行测试时遇到错误,声称我在测试中调用的某个函数(位于此包含文件中)未定义或该目录不存在:
“警告:include(secure \ functions.php):无法打开流:C:\ xampp \ htdocs \ PVT \ root \ tests \ unit-test \ testFunctions \ testFunctions.php中没有此类文件或目录3"
“致命错误:调用未定义的函数checkbrute()”
当我像这样包含文件的整个路径时,它工作正常。 OBS这是在签出并在本地运行的时候:
include 'C:\xampp\htdocs\PVT\root\secure\functions.php';
问题在于我将把它交给我们的中央仓库,以便任何人都可以执行测试,因此我的本地路径对其他人无效。关于什么可能出错的任何想法?为什么第一个选项不起作用?
答案 0 :(得分:0)
您需要使用绝对文件路径。从您的问题中可以看出,您的代码正在查找文件的错误位置:
C:\xampp\htdocs\PVT\root\tests\unit-test\testFunctions\testFunctions.php
vs C:\xampp\htdocs\PVT\root\secure\functions.php
我使用Linux,我不确定这是否适用于Windows,但请尝试引用项目所在的当前/主目录,如果它是Linux,则为./secure/functions.php
。