11
有沒有一種方法或模塊允許我模擬僞文件系統以用於Perl單元測試?用於Perl單元測試的模擬文件系統
我在單元測試中使用了各種Test::*
和Test::Mock*
模塊,但偶爾我希望能夠僞造一個文件系統。一個簡單的例子(和最低要求)將僞造-r
或-f
文件測試運算符的結果,以便在我調用執行文件測試的對象或模塊時,我可以更容易地控制結果。
我知道有很多方法可以解決這個問題,比如在自己的函數中創建臨時文件或者包裝文件測試,然後可以被嘲笑,但是有時候如果我能夠獲得Perl對我說謊......所以被測試建議重寫代碼解決方案不要求;-)
更新:
有剛剛找到並閱讀this SO question,重寫代碼,使其更後可測試看起來像更明智的選擇。儘管如此,手指交叉...
感謝您的聯繫。我承認我不確定我會用Filesys :: Virtual做些什麼 - 它似乎是其他東西的基類。請問您過去如何使用它可以擴展一點嗎? – Mike
@Mike,對不起,我真的應該鏈接這個:[Filesys :: Virtual :: Plain](http://search.cpan.org/perldoc?Filesys::Virtual::Plain)。它更接近準備使用開箱即用。 – Ashley
謝謝 - 我最終也發現了這一點,而且看起來很可能。我還沒有機會查看它,但希望儘快這樣做。 – Mike