首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Behat 3和Laravel,测试环境未被遵守

Behat 3和Laravel,测试环境未被遵守
EN

Stack Overflow用户
提问于 2014-09-01 16:05:48
回答 1查看 1.2K关注 0票数 2

使用Behat 3和Laravel测试API时,我遇到了一个令人困惑的问题。

它似乎没有使用“测试”环境数据库(在我的例子中是一个sqlite内存数据库).但只有一些时候。

我在to /database.php文件中放置了一条日志消息,以查看它何时加载。在运行Behat时,我确实看到了日志消息。

但是运行Behat特性会将行添加到我的开发数据库中--而且我的一些测试也因为同样的原因而失败了。

我的phpunit测试运行良好,不更改dev数据库。

在behat.yml中有什么东西我错过了吗?

编辑:我看到了问题-我使用口吻测试API,而Behat的设置功能正在测试env,一旦口香糖发挥作用,应用程序不知道它在测试env。所以我要么在测试env中找到告诉应用程序in的方法,要么告诉behat使用开发env。

EN

回答 1

Stack Overflow用户

发布于 2015-01-12 16:55:17

在您的FeatureContext.php中添加以下方法:

代码语言:javascript
复制
/**
 * @BeforeSuite
 */
 public static function bootstrapLaravel()
 {
    $unitTesting = true;
    $testEnvironment = 'testing';


    require __DIR__ . '/../../../bootstrap/start.php'; // adjust this to right path. This will work if FeatureContext.php is in app/tests/acceptance
 }

这将使用测试数据库并包括Laravel (因此您也可以使用您的模型)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25609579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档