PHPUnit - 如何存根整个父类?

时间:2017-09-27 22:41:49

标签: phpunit laravel-5.5

我有一个糟糕的情况,我想要测试的类正在扩展另一个具有相当复杂的public static方法的类。如果父类没有扩展所需的其他类,那么这不会是一个问题。具体来说,我还需要\Illuminate\Database\Eloquent\Model进行扩展。我的双手因可能的重构而受到束缚,以便更容易测试。

有没有办法存根或更改相关类的父级,同时仍允许Model类执行?

2 个答案:

答案 0 :(得分:2)

也许你可以创建一个扩展你正在测试的类的YourClassTestCase。然后,在YourClassTestCase覆盖带有简化返回的静态方法,并在YourClassTestCase上启动测试。

所以你将拥有YourTest - > yourClassTestCase - > YourClass - > ParentWithStaticMethod

答案 1 :(得分:0)