Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4,单元测试,返回额外数据_Php_Unit Testing_Laravel - Fatal编程技术网

Php 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

兄弟们有一种奇怪的行为。我正在为我的Laravel 4软件包编写测试

所有测试都会创建新的
实体
(或
实体
)以供进一步使用。例如,第一个测试之一:
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);