我试图测试一个类,它实现了一个在类包的范围之外定义的接口(即,我在集成过程中使用composer将它作为依赖项进行了抽取)。PHP单元测试:如何测试从另一个包实现接口的类?
我想测试这个具体类,而不必拉入它所依赖的接口。无论如何要在php单元测试中测试这个吗?
目前我甚至不能实例化一个实例,因为显然找不到接口。
我试图测试一个类,它实现了一个在类包的范围之外定义的接口(即,我在集成过程中使用composer将它作为依赖项进行了抽取)。PHP单元测试:如何测试从另一个包实现接口的类?
我想测试这个具体类,而不必拉入它所依赖的接口。无论如何要在php单元测试中测试这个吗?
目前我甚至不能实例化一个实例,因为显然找不到接口。
从这个意义上讲,你的类不是依赖的接口......没有什么可以模拟的。您只需确保该类是该类的测试中的接口实例。
你需要改变一些关于你的测试环境的知识,以便界面可用来测试你的类。以便您可以实例化并测试接口指定的方法的行为。
依赖注入是关于您的代码不需要代码的对象。接口或抽象类不是依赖关系。即使你的代码“依赖于”现有的东西。
依赖性是您类需要做的事情的外部对象。接口和抽象类定义你的类是什么。
为什么不简单地在测试中包含该依赖项?我的意思是,你的班级依赖于它,所以在测试中包括它没有什么不对。 – nietonfir
那不是我正在测试的方法。应该嘲笑所有依赖关系,并且测试包单元不依赖于这些依赖关系。 –
所以,你想测试你的类依赖于外部依赖,而不包括那个依赖。那么,我希望你看到这个陈述中的讽刺。 ;-) – nietonfir