找不到这个解决方案,因为越来越多的人尝试测试抽象类。这不是我想要的。
我有模式策略,所有类都应该实现接口。想要添加基本规范,其余的应该扩展并添加自己的东西。
我应该在所有规格中重复我的代码吗?
现在,我有 2 个策略规范:
function it_should_implements_LoadStrategyInterface()
{
$this->shouldBeAnInstanceOf(LoadStrategyInterface::class);
}
如何不重复自己?
我试着做AbstractStrategy
,但得到了
Class 'specLoadStrategyStrategiesAbstractStrategy' not found
我错过了什么?还是像这样的代码,不是自动加载的?或者,也许,这是不好的做法?
是的,您应该在每个规范中重复它。解决方法是使您的规范文件扩展另一个规范文件(您有此常见示例(,该文件本身扩展了基本的 phpspec 类。顺便说一下,我会在每个具体类中显式描述(测试(此约束。