W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
不,PHPUnit 要求在測(cè)試套件開(kāi)始時(shí)所有數(shù)據(jù)庫(kù)對(duì)象必須全部可用。數(shù)據(jù)庫(kù)、表、序列、觸發(fā)器還有視圖,必須全部在運(yùn)行測(cè)試套件之前創(chuàng)建好。
Doctrine 2 或 eZ Components 擁有強(qiáng)力的工具,可以按預(yù)定義的數(shù)據(jù)結(jié)構(gòu)創(chuàng)建數(shù)據(jù)庫(kù),但是這些都必須和 PHPUnit 擴(kuò)展模塊對(duì)接之后才能自動(dòng)在整個(gè)測(cè)試套件運(yùn)行之前重新創(chuàng)建數(shù)據(jù)庫(kù)。
由于每個(gè)測(cè)試都會(huì)徹底清空數(shù)據(jù)庫(kù),因此無(wú)須為每個(gè)測(cè)試重新創(chuàng)建數(shù)據(jù)庫(kù)。持久可用的數(shù)據(jù)庫(kù)同樣能夠完美工作。
不,只在基境的清理與建立階段還有斷言檢定時(shí)用到PDO。在你的自有代碼中,可以使用任意數(shù)據(jù)庫(kù)抽象。
如果沒(méi)有對(duì) TestCase 中 getConnection()
方法所創(chuàng)建 PDO 實(shí)例進(jìn)行緩存,那么每個(gè)數(shù)據(jù)庫(kù)測(cè)試都會(huì)增加一個(gè)或多個(gè)數(shù)據(jù)庫(kù)連接。MySQL的默認(rèn)配置只允許100個(gè)并發(fā)連接,其他供應(yīng)商的數(shù)據(jù)庫(kù)也都有各自的最大連接限制。
子章節(jié) “使用你自己的抽象數(shù)據(jù)庫(kù) TestCase 類”展示了如何通過(guò)在所有測(cè)試中使用單個(gè)PDO實(shí)例緩存來(lái)防止發(fā)生此錯(cuò)誤。
別這么干。應(yīng)當(dāng)改用 XML 或者 YAML 數(shù)據(jù)集。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: