2015-08-08 75 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

我在本地機器上安裝了一個版本,並且它在工作。我只是希望能夠在線運行它,以確保一切都是通俗易懂的。 –

相關問題