2015-08-08 90 views
3

我从laravel网站的命令行运行phpunit。phpunit在经过多次测试后失败

的输出(第一行)是:

.................FFFFFFFFFFFFFFFFF.FFFFFFFFF.FFFFFFFFFFFFFFFFF. 63/105 (60%) 

然而,所有这些测试运行正常单独。当我将它们全部运行在一起时,大部分都失败了。

所有错误都显示预期的代码5​​00,200。

例如:

<pre> 
not ok 99 - Failure: TeamTest::testApiShow 
--- 
message: 'A GET request to ''http://localhost/api/v1/teams/1'' failed. Got a 500 code instead.' 
severity: fail 
</pre> 

详细信息的 [..]供应商/ laravel /框架/ SRC /照亮/数据库/接头/ Connector.php

47线上发生

错误

line 47: return new PDO($dsn, $username, $password, $options); 

满输出:http://pastebin.com/bt29w7Lz phpunit的配置:http://pastebin.com/pBT59aXM

+0

您是否尝试过运行'PHPUnit的--verbose'获得更多有用的输出? – alariva

+0

大多数show ['] PDOException对[..] vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php line 47''' –

+0

就是这样吗?尝试将您的完整输出发布到pastebin.com并共享链接 – alariva

回答

1

可能是打开的数据库连接太多的情况。 PostgreSQL和MySQL都对可用连接的数量有限制,并且phpUnit既不会连接连接,也不会在连接池使用后返回到连接池的连接。

我经常需要将我的Jenkins(单元测试)服务器上PostgreSQL的最大连接数增加到500或更多,才能运行完整的单元测试套件。

查看更多在这里:

https://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html

https://wiki.postgresql.org/wiki/Number_Of_Database_Connections

+0

我在共享主机上运行,​​并且无法更改最大连接数。有没有办法减慢phpunit,所以我有更少的连接打开? –

+0

对不起,减慢phpUnit不会帮助,问题是连接不会被丢弃,直到phpUnit进程退出。您能否尝试在本地运行测试 - 例如在您自己的PC上的虚拟机上? – delatbabel

+0

我在本地机器上安装了一个版本,并且它在工作。我只是希望能够在线运行它,以确保一切都是通俗易懂的。 –

相关问题