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