当你使用合成时,你可以模拟你的类所依赖的其他对象 ,但是当你使用 继承时,你不能模拟基类。 (?或CAN你)如何进行单元测试继承对象?
我一般都尽量prefer composition over inheritance, 但有时确实继承好像这个职位的最佳工具 - 好吧,至少直到它的单元测试。
那么,你如何测试继承?或者你只是把它作为 不可测,并使用组合来代替?
说明:我大部分都使用PHP和PHPUnit,所以对这方面的帮助是最赞赏的 。但是如果在其他语言中有解决这个问题的方法,知道 也会很有趣。
有一个[很好的例子](http://stackoverflow.com/questions/58969/best-way-to-unit-test-a-website-with-multiple-user-types-with-phpunit#63442 )为[由华丽给出的解决方案](http://stackoverflow.com/questions/100795/how-do-i-unit-test-inheriting-objects#116340)。让测试层次结构与您的类层次结构相似。 – GrGr 2008-11-03 09:23:38
我不明白如何嘲笑一个超类。这将是一个语言功能ihmo。你究竟想要测试什么?对我来说,这听起来像反射可能对你有帮助? – Robse 2008-09-19 09:49:25