Codeception sqlite:Laravel 4 中针对 Mockery 的内存

Posted

技术标签:

【中文标题】Codeception sqlite:Laravel 4 中针对 Mockery 的内存【英文标题】:Codeception sqlite:memory against Mockery in Laravel 4 【发布时间】:2013-11-29 09:40:24 【问题描述】:

我注意到 Codeception 有sqlite:memory 的选项。在这种情况下,我应该选择退出嘲讽吗?

我的理解是 Mockery 使测试能够避免命中数据库。通过上面提到的 Codeception 选项,我可以使用示例数据为数据库播种并在内存中命中它。

当我将它与 Selenium2 和 PhantomJS 放在一起时,Laravel 4 中的一些测试从 15 秒缩短到 1 秒。

【问题讨论】:

【参考方案1】:

这不是两种不同的东西吗?

我没用过 Mockery,很久以前就用过 phpunit mocks,但是我不明白你怎么能用 sqlite 退出 Mockery。

您不想在发生某些事情时使用模拟来产生一些特定的行为吗?这有点不同,因为数据库设置非常快?

另外,请记住,如果你有 Postgres 或 mysql 并且你使用 sqlite,有些事情不会完全一样。

我确实同意有时您需要使用 sqlite 来加快速度(我在 Python 中为我拥有的一些套件做了同样的事情,并且花费了很多时间)。

我的两分钱。

【讨论】:

以上是关于Codeception sqlite:Laravel 4 中针对 Mockery 的内存的主要内容,如果未能解决你的问题,请参考以下文章

Yii2中如何使用CodeCeption

Codeception:哪些测试组组合是可能的?

Symfony/Codeception 运行错误

Codeception 全堆栈的 PHP 测试框架

从 codeception 对象访问数组值

Codeception:生成验收测试在并行虚拟机上引发异常