2010-03-26 64 views
12

我還是新手單元測試,特別是PHPUnit作爲測試框架。單元測試文件操作 - 在哪裏維護模擬目錄結構?

假設我正在爲資源加載器類構建單元測試。該類查找要加載到兩個目錄(全局和用戶特定的目錄)中的資源。

爲了測試這個類,我想建立一個包含一些資源文件的模擬測試目錄。我想把mock目錄放在測試套件的某個地方(該套件是一個將分發的Web應用程序的一部分)。

是否有一個約定,用於將此測試目錄置於PHPUnit測試的上下文中使用文件系統組成的套件如概述here

有沒有一種方法(例如,PHPUnit在運行測試時定義的常量)從單元測試中訪問這樣一個模擬目錄,而無需指定其確切位置,即相對於當前測試套件的路徑?或者我只是使用dirname(__FILE__)並從中構建絕對路徑?

回答

15

由於資源加載器在目錄中查找文件,並且您想要測試加載程序與這些目錄的正確交互,您應該使用mock the filesystem。如果您使用真實目錄進行測試,則可能會冒險改變這些目錄以影響測試結果。使用vfs也是更快