单元测试:如何防止执行内置PHP函数

时间:2019-04-20 09:55:59

标签: php tdd

我正在做一个使用本机PHP方法的小型库,例如json_encodefile_put_contents

现在,我正在进行单元测试,json_encode并不会打扰我,但是file_put_contents在运行单元测试时会为我创建文件。

您对此有何想法?

我当时正在考虑将这些方法封装在Helpers中。 JsonHelper,FileHelper,以及执行这些方法并在原始类中对其进行模拟的方法。

你怎么看?

1 个答案:

答案 0 :(得分:0)

封装作为外部依赖项的函数通常是一个好主意。在PHP中,我通常会使用JsonEncoderFileCalendar之类的类(后者用于封装日期函数)。请不要称他们为XyzHelper。每当人们给这样的班级命名时,婴儿兔就会死亡。