2010-03-26 32 views
12

我还是新手单元测试,特别是PHPUnit作为测试框架。单元测试文件操作 - 在哪里维护模拟目录结构?

假设我正在为资源加载器类构建单元测试。该类查找要加载到两个目录(全局和用户特定的目录)中的资源。

为了测试这个类,我想建立一个包含一些资源文件的模拟测试目录。我想把mock目录放在测试套件的某个地方(该套件是一个将分发的Web应用程序的一部分)。

是否有一个约定,用于将此测试目录置于PHPUnit测试的上下文中使用文件系统组成的套件如概述here

有没有一种方法(例如,PHPUnit在运行测试时定义的常量)从单元测试中访问这样一个模拟目录,而无需指定其确切位置,即相对于当前测试套件的路径?或者我只是使用dirname(__FILE__)并从中构建绝对路径?

回答

15

由于资源加载器在目录中查找文件,并且您想要测试加载程序与这些目录的正确交互,您应该使用mock the filesystem。如果您使用真实目录进行测试,则可能会冒险改变这些目录以影响测试结果。使用vfs也是更快