W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
不,PHPUnit 要求在測試套件開始時(shí)所有數(shù)據(jù)庫對象必須全部可用。數(shù)據(jù)庫、表、序列、觸發(fā)器還有視圖,必須全部在運(yùn)行測試套件之前創(chuàng)建好。
Doctrine 2 或 eZ Components 擁有強(qiáng)力的工具,可以按預(yù)定義的數(shù)據(jù)結(jié)構(gòu)創(chuàng)建數(shù)據(jù)庫,但是這些都必須和 PHPUnit 擴(kuò)展模塊對接之后才能自動(dòng)在整個(gè)測試套件運(yùn)行之前重新創(chuàng)建數(shù)據(jù)庫。
由于每個(gè)測試都會(huì)徹底清空數(shù)據(jù)庫,因此無須為每個(gè)測試重新創(chuàng)建數(shù)據(jù)庫。持久可用的數(shù)據(jù)庫同樣能夠完美工作。
不,只在基境的清理與建立階段還有斷言檢定時(shí)用到PDO。在你的自有代碼中,可以使用任意數(shù)據(jù)庫抽象。
如果沒有對 TestCase 中 getConnection()
方法所創(chuàng)建 PDO 實(shí)例進(jìn)行緩存,那么每個(gè)數(shù)據(jù)庫測試都會(huì)增加一個(gè)或多個(gè)數(shù)據(jù)庫連接。MySQL的默認(rèn)配置只允許100個(gè)并發(fā)連接,其他供應(yīng)商的數(shù)據(jù)庫也都有各自的最大連接限制。
子章節(jié) “使用你自己的抽象數(shù)據(jù)庫 TestCase 類”展示了如何通過在所有測試中使用單個(gè)PDO實(shí)例緩存來防止發(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)系方式:
更多建議: