在phpunit中模拟MongoDB

时间:2018-08-07 13:38:36

标签: mongodb mocking doctrine phpunit

在一个函数中,我最终有这样的东西:

$datamanager = $this->get('doctrine_mongodb')->getManager();
$datamanager->persist($data);
 $datamanager->flush();

工作正常,但是在我的phpunittest中,我想模拟mongodb,因为在测试环境中它不可用。

Testclass扩展了WebTestCase,我在那里进行测试。除非mongodb不可用,否则工作也很好。

我的测试功能以

开头
enter code here`$client = static::createClient();

我正在寻找一种替换功能中的$ datamanager的可能性。我读了https://symfony.com/doc/3.4/testing/database.html,并尝试在测试中使用构造函数

public function __construct()
    {
        $this->objectManager = $objectManager;
    }

开始测试时出现错误

“无法实例化接口Doctrine \ Common \ Persistence \ ObjectManager”

有人知道模拟实体经理的正确方法吗?

问候 托马斯

0 个答案:

没有答案