<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 數據庫測試的難點 為什么所有單元測試的范例都不包含數據庫交互?這里有個很好的理由:這類測試的建立和維護都很復雜。對數據庫進行測試時,需要考慮以下這些變數: - 數據庫和表 - 向表中插入測試所需要的行 - 測試運行完畢后驗證數據庫的狀態 - 每個新測試都要清理數據庫 許多數據庫 API,比如 PDO、MySQLi 或者 OCI8,都十分繁瑣且書寫起來十分冗長,因此,手工進行這些步驟絕對是噩夢。 測試代碼應當盡可能簡短精確,這有若干原因: - 你不希望因為生產代碼的小變更而需要對測試代碼進行數量可觀的修改。 - 你希望在哪怕好幾個月以后也能輕松地閱讀并理解測試代碼。 另外,必須認識到,對于代碼而言,本質上來說數據庫是全局輸入變量。測試套件中的兩個不同的測試可能是運行在同一個數據庫上的,并且可能把數據重用好多次。一個測試中出現的失敗很容易影響到后繼測試的結果,從而讓整個測試過程變得非常艱難。前面提到的清理步驟對于解決“數據庫是全局輸入”的問題是非常重要的。 DbUnit 以一種優雅的方式來幫助簡化數據庫測試中的所有這些問題。 PHPUnit 無法幫你解決的問題是,相對于不使用數據的測試而言,數據庫測試是非常慢的。隨著數據庫交互規模的增大,運行測試可能需要耗費可觀的時間。然而,只要保持每個測試所使用的數據量較小并且盡可能用非數據庫測試來對代碼進行測試,即使很大的測試套件也能輕松在一分鐘內跑完。 以 [Doctrine 2 ](http://www.doctrine-project.org) 為例,此項目的測試套件目前包含了大約1000個測試,其中將近一半訪問了數據庫。但是在一臺安裝了MySQL的普通的臺式機上,整個測試套件依然能在15秒鐘內跑完。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看