我是一名长期从事PHP项目的Java程序员,我正在努力让PHPUnit工作起来。在Java中进行单元测试时,通常将测试用例类和常规类放入单独的目录中,如下所示 -
/src
MyClass.java
/test
MyClassTest.java
等等。
使用PHPUnit进行单元测试时,遵循相同的目录结构是否常见,或者是否有更好的方法来布置测试类?到目前为止,我可以让“include(”MyClass.php“)”语句正常工作的唯一方法是将测试类包含在同一目录中,但是当我推送到时,我不想包含测试类生产。
发布于 2018-08-24 14:59:15
我认为保持文件分开是个好主意。我通常使用这样的文件夹结构:
/myapp/src/ <- my classes
/myapp/tests/ <- my tests for the classes
/myapp/public/ <- document root
在您的情况下,为了将类包含在测试文件中,为什么不将整个路径传递给include方法?
include('/path/to/myapp/src/MyClass.php');
要么
include('../src/MyClass.php');
发布于 2018-08-24 15:50:01
您需要修改PHP的include_path,以便include()
在单元测试中知道它在哪里可以找到MyClass.php 。
你可以在测试文件的顶部(在你的include之前)有这样的东西:
set_include_path(get_include_path() . PATH_SEPARATOR . "../src");
这会将您的src
目录附加到包含路径上,并允许您将实际代码与测试代码分开。
https://stackoverflow.com/questions/-100000655
复制相似问题