Creating an Interface To a Language's Standard Library?

Posted by Nathan Arthur on Programmers See other posts from Programmers or by Nathan Arthur
Published on 2014-06-11T17:01:57Z Indexed on 2014/06/11 21:38 UTC
Read the original article Hit count: 216

Filed under:
|
|

In the process of learning test-driven development, I've been introduced to dependency injection and the use of interfaces, and have started using these concepts in my own PHP code in order to make it more testable.

There have been times when I've needed to test code that was doing things like calling the PHP time() function. In order to make these tests predictable, it seemed logical to create an interface to the standard PHP functions I use so that I can mock them out in my tests.

Is this good software design? What are the pros and cons of doing this? I've found myself groaning at how quickly my PHP interface can stick its fingers into everything I do. Is there a better way to make code that relies on PHP-accessed state and functions more testable?

© Programmers or respective owner

Related posts about architecture

Related posts about TDD