《C++代碼整潔之道:C++17 可持續軟件開發模式實踐》 —2.5.9 如何處理數據庫的訪問

      網友投稿 773 2025-03-31

      2.5.9 如何處理數據庫的訪問

      目前,許多軟件系統都包含(依賴)數據庫系統,將大量的對象和數據長期存儲到數據庫中,從而可以方便地從數據庫查詢這些對象和數據,當系統被關閉以后,這些對象和數據也不會丟失。

      一個很重要的問題是:在單元測試期間,我們應該如何處理數據庫的訪問?

      我對這個問題的第一個也是最重要的建議是:能不使用數據庫進行單元測試,就不使用數據庫進行單元測試。

      —Gerard Meszaros, xUnit Patterns

      在單元測試過程中,數據庫可能會引起各種各樣的問題。例如,如果許多單元測試使用同一個數據庫,那么,這個數據庫就會趨向于一個大的集中式的存儲系統,這些單元測試必須為不同的目的而共享這個數據庫。而這種共享,可能會對本章前面討論過的單元測試的獨立性產生不利的影響,可能很難保證每個單元測試所需的前提條件。一個單元測試的執行,可以通過共享的數據庫對其他的單元測試產生不好的影響。

      另一個問題是,數據庫的存儲速度是緩慢的。訪問數據庫的速度比訪問計算機內存的速度要慢得多。與數據庫交互的單元測試往往比完全不依賴于數據庫的單元測試慢得多。假設你有幾百個單元測試,每個單元測試需要額外的平均500毫秒的時間,這很有可能是由于查詢數據庫導致的。總之,訪問數據庫的單元測試比沒有訪問數據庫的單元測試要多花費幾分鐘的時間。

      我的建議是模擬數據庫(參見本章后面5.2.12節“測試替身”),只在內存中執行所有的單元測試。不要擔心,如果系統中存在數據庫的使用,那么,在系統集成和系統測試級別會測試數據庫

      《C++代碼整潔之道:C++17 可持續軟件開發模式實踐》 —2.5.9 如何處理數據庫的訪問

      C++ c++

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:工信部試點項目智能制造的模式要素條件介紹
      下一篇:Excel標記數據的方法
      相關文章
      亚洲色大成WWW亚洲女子| 亚洲成_人网站图片| 亚洲AV无码久久久久网站蜜桃 | 亚洲日韩小电影在线观看| 亚洲砖码砖专无区2023| 亚洲黄色一级毛片| 亚洲成aⅴ人片久青草影院| 亚洲成aⅴ人片久青草影院| 亚洲AV无码专区在线电影成人| 国产成人精品日本亚洲专一区| 亚洲美女一区二区三区| 911精品国产亚洲日本美国韩国| 亚洲国产一区二区a毛片| 亚洲伊人tv综合网色| 亚洲福利视频导航| 亚洲午夜未满十八勿入| 久久久久亚洲AV无码观看| 日本久久久久亚洲中字幕| 亚洲精品电影在线| 亚洲一级高清在线中文字幕| 亚洲香蕉在线观看| 亚洲欧美一区二区三区日产| 精品国产亚洲第一区二区三区| 国产亚洲精品精品精品| 国产成人精品曰本亚洲79ren| 亚洲人成网站在线观看青青| 亚洲高清免费视频| 中文字幕第13亚洲另类| 亚洲国产第一站精品蜜芽| 久久夜色精品国产噜噜噜亚洲AV | 亚洲av无码兔费综合| 国产亚洲蜜芽精品久久| 亚洲精品国产日韩无码AV永久免费网 | 国产精品亚洲AV三区| 亚洲国产精品一区二区第一页免| 国产成人精品久久亚洲高清不卡 | 国产亚洲av片在线观看播放| 亚洲人成在线播放网站岛国| 亚洲欧洲精品一区二区三区| 亚洲中文字幕久久精品蜜桃| 国产午夜亚洲精品不卡|