Php Laravel 4,单元测试,返回额外数据
兄弟们有一种奇怪的行为。我正在为我的Laravel 4软件包编写测试 所有测试都会创建新的Php Laravel 4,单元测试,返回额外数据,php,unit-testing,laravel,Php,Unit Testing,Laravel,兄弟们有一种奇怪的行为。我正在为我的Laravel 4软件包编写测试 所有测试都会创建新的实体(或实体)以供进一步使用。例如,第一个测试之一:ClosureTableTestCase::testInsertSingle。当我运行它时,我得到了以下信息: 异常:SQLSTATE[HY000]:一般错误:1表pages\u闭包没有名为0的列(SQL:插入到“pages\u闭包”(“祖先”、“深度”、“后代”、“0”、“1”、“2”)值(?,,,,,,,,,)(绑定:数组)( 0 => '1', 1
实体
(或实体
)以供进一步使用。例如,第一个测试之一:ClosureTableTestCase::testInsertSingle
。当我运行它时,我得到了以下信息:
异常:SQLSTATE[HY000]:一般错误:1表pages\u闭包没有名为0的列(SQL:插入到“pages\u闭包”(“祖先”、“深度”、“后代”、“0”、“1”、“2”)值(?,,,,,,,,,)(绑定:数组)(
0 => '1',
1 => '0',
2 => '1',
3 => '1',
4 => '1',
5 => '0',
))
而且var_dump
告诉我:
array(1) {
[0] =>
array(6) {
'ancestor' =>
string(1) "1"
[0] =>
string(1) "1"
'descendant' =>
string(1) "1"
[1] =>
string(1) "1"
'depth' =>
string(1) "0"
[2] =>
string(1) "0"
}
}
你能给我指出一个错误吗?嗯,似乎app/config/database.php中的fetch设置是
PDO::fetch_BOTH
,如果不是那样的话。。您可以尝试在DB::select
之前使用以下命令强制设置获取PDO::FETCH_ASSOC
:
Config::set('database.fetch', PDO::FETCH_ASSOC);
谢谢你,master=)我启用测试包的解决方案(从MongoDB driver for Laravel偷来)配置有点错误。在那个该死的选项中!=)它是$app['config']['database.fetch']=null代码>。现在我将其设置为PDO::FETCH_ASSOC
。工作就像一个符咒:)
Config::set('database.fetch', PDO::FETCH_ASSOC);