0
我试图尽可能写我的代码(和可测试),但这里是我正在考虑的东西。模拟存储当数据库应注入DI(通过构造函数)
我有一个对象,并在那儿DI
<?php
public function __constructor(Connection $connection) {
}
传递依赖当我写一个单元测试,我把我的DI容器和获取对象像
$object = $context->getService("class");
,然后用它的功能。
问题是,我该如何模拟连接或更好的“某些存储” - 而不是数据库连接。
感谢
我一直在想这个,但我还在质疑自己,“这真的是很好的解决方案吗?”但是当我从另一方面考虑时,这是如何减少依赖关系并进行测试的唯一方法。只是一个问题,你在哪里做工厂?在测试目录或应用程序中? –
我们使用测试代码保留它们,因为它们只创建与测试相关的嘲笑,而不是应用程序运行时。我们在部署时将备用测试目录放在备用,以减少交付。 –
非常感谢。这确实有道理。 –