【发布时间】:2014-10-25 21:41:01
【问题描述】:
我在使用 Behat 3 和 Laravel 测试 API 时遇到了一个令人困惑的问题。
似乎它没有使用“测试”环境数据库(在我的情况下是一个 sqlite 内存数据库)......但只是在某些时候。
我在 testing/database.php 文件中放置了一条日志消息,以查看它何时加载。我在运行 Behat 时确实看到了日志消息。
但是运行 Behat 功能会在我的开发数据库中添加行 - 我的一些测试由于同样的原因而失败。
我的 phpunit 测试运行良好,不会改变开发数据库。
behat.yml 中是否有我遗漏的内容?
编辑:我看到了问题 - 我正在使用 Guzzle 测试 API,而 Behat 的设置函数正在测试环境中工作,一旦 Guzzle 开始运行,应用程序就不知道它是否在测试环境中。所以我要么必须找到一种方法来告诉应用程序它在测试环境中,要么告诉 behat 使用开发环境。
【问题讨论】:
标签: php sqlite laravel laravel-4 behat