Best practices to test protected methods with PHPUnit
Posted
by GrGr
on Stack Overflow
See other posts from Stack Overflow
or by GrGr
Published on 2008-10-30T09:32:41Z
Indexed on
2010/05/09
15:58 UTC
Read the original article
Hit count: 164
Hello,
I found the discussion on Do you test private method informative.
I have decided, that in some classes, I want to have protected methods, but test them. Some of these methods are static and short. Because most of the public methods make use of them, I will probably be able to safely remove the tests later. But for starting with a TDD approach and avoid debugging, I really want to test them.
I thought of the following:
- Method Object as adviced in an answer seems to be overkill for this.
- Start with public methods and when code coverage is given by higher level tests, turn them protected and remove the tests.
- Inherit a class with a testable interface making protected methods public
Which is best practice? Is there anything else?
It seems, that JUnit automatically changes protected methods to be public, but I did not have a deeper look at it. PHP does not allow this via reflection.
© Stack Overflow or respective owner