pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

      <bdo id='JERU6'></bdo><ul id='JERU6'></ul>

      <i id='JERU6'><tr id='JERU6'><dt id='JERU6'><q id='JERU6'><span id='JERU6'><b id='JERU6'><form id='JERU6'><ins id='JERU6'></ins><ul id='JERU6'></ul><sub id='JERU6'></sub></form><legend id='JERU6'></legend><bdo id='JERU6'><pre id='JERU6'><center id='JERU6'></center></pre></bdo></b><th id='JERU6'></th></span></q></dt></tr></i><div class="i20ykyi" id='JERU6'><tfoot id='JERU6'></tfoot><dl id='JERU6'><fieldset id='JERU6'></fieldset></dl></div>

      <legend id='JERU6'><style id='JERU6'><dir id='JERU6'><q id='JERU6'></q></dir></style></legend>

      <small id='JERU6'></small><noframes id='JERU6'>

      1. <tfoot id='JERU6'></tfoot>

        使用數據庫進行 Phpunit 測試

        Phpunit testing with database(使用數據庫進行 Phpunit 測試)
        <tfoot id='F5sEx'></tfoot>
        • <small id='F5sEx'></small><noframes id='F5sEx'>

            <tbody id='F5sEx'></tbody>
          <legend id='F5sEx'><style id='F5sEx'><dir id='F5sEx'><q id='F5sEx'></q></dir></style></legend>
                <bdo id='F5sEx'></bdo><ul id='F5sEx'></ul>

              • <i id='F5sEx'><tr id='F5sEx'><dt id='F5sEx'><q id='F5sEx'><span id='F5sEx'><b id='F5sEx'><form id='F5sEx'><ins id='F5sEx'></ins><ul id='F5sEx'></ul><sub id='F5sEx'></sub></form><legend id='F5sEx'></legend><bdo id='F5sEx'><pre id='F5sEx'><center id='F5sEx'></center></pre></bdo></b><th id='F5sEx'></th></span></q></dt></tr></i><div class="e2g2cio" id='F5sEx'><tfoot id='F5sEx'></tfoot><dl id='F5sEx'><fieldset id='F5sEx'></fieldset></dl></div>

                1. 本文介紹了使用數據庫進行 Phpunit 測試的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我正在嘗試使用 PHPunit 進行單元測試.

                  I am trying to focus a bit on unit testing using PHPunit.

                  我在這里找到了一個非常好的教程http://blog.nickbelhomme.com/php/phpunit-training-course-for-free_282

                  I have found a very good tutorial over here http://blog.nickbelhomme.com/php/phpunit-training-course-for-free_282

                  但是我遺漏了一些東西,我還不知道該怎么做.

                  But there is something I'm missing and don't yet understand how to do.

                  我有一個用戶模塊,用于維護有關用戶的所有信息.并且有一個函數 save 可以將用戶保存在數據庫中.所以我有一個 testFunction

                  I have a user module which maintains all information about users. And there is a function save which saves the user in the database. So I have a testFunction

                  public function testCanCreateUser()
                  {
                      $userData = array(
                          'userName'  =>  'User1',
                          'firstName' =>  'Joey',
                          'lastName'  =>  'Hendricks',
                          'email'     =>  'Joey@hendricks.com',
                          'password'  =>  'f$tfe8F'
                      
                      ); 
                      $user = new Model_User($userData);
                      $user->save();
                       
                  }
                  

                  我第一次運行測試時,這會起作用.因為數據庫是空的.但是當我第二次運行我的測試時它不會工作,因為我的系統不允許同一個用戶在數據庫中兩次.所以為了做到這一點,我必須在每次運行測試之前重新創建我的測試數據庫.這樣做的最佳方法是什么?

                  The first time when I will run my test this will work. Since the database is empty. But When I run my tests for the second time it won't work since my system doesn't allow the same user twice in the db. So In order to do this I have to recreate my testdatabase every time before I run my tests. What is the best way to do this?

                  或者這個問題可以用不同的方式解決嗎?

                  Or is this problem to be solved on a different way?

                  推薦答案

                  如果你想測試你的業務邏輯: Mock掉數據庫類并返回假數據

                  If you want to test your business logic: Mock away the Database class and return fake data

                  如果你想測試觸發 SQL 語句的類(恕我直言,你也可以測試它,因為我有點想知道我的代碼是否可以在后端的真實數據庫中正常工作)它會得到有點復雜,但有一些方法可以做到:

                  If you want to test the class that fires the SQL statements (and imho you could test that too since I kinda wanna know if my code works fine with a real db in the backend) it gets a little complicated but there are ways to do it:

                  • 在運行測試之前使用 setUp() 和 tearDown() 為您的數據獲得一致的狀態是(恕我直言)編寫數據庫驅動單元測試的好方法.不過,手動編寫大量自定義 sql 會很煩人.

                  • Using setUp() and tearDown() to get a consistent state for your data before running your tests is (imho) a fine way to write db-driven unittests. It can get annoying to write lots of custom sql by hand though.

                  為了讓您的生活更輕松,您可以查看 DbUnit 擴展 看看這是否適用于您的應用程序.

                  To make your life a little easier you can look into the DbUnit extension and see if that works for your Application.

                  如果您真的想深入了解 Unittesting 數據庫交互,關于該主題的最佳讀物是(恕我直言)Sebastian Bergmanns phpqa 書.

                  If you really want to dive into Unittesting database interactions the best read on the subject is (imho) the chapter on db-unittesting in Sebastian Bergmanns phpqa book.

                  您的應用程序是否可以允許自定義數據庫名稱和所有表的自動設置,也可以使用大量測試數據設置一次數據庫并在所有測試中使用該數據.盡管一個測試不依賴于另一個測試編寫的數據,但您可以小心.

                  Could your application allow for a custom database name and automated setup of all tables it may also be possible to set the db up once with a lot of testdata and use that data in all your tests. You could be carefull so though that one test doesn't rely on data written by another one.

                  這篇關于使用數據庫進行 Phpunit 測試的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                  <tfoot id='VST0F'></tfoot>
                    1. <i id='VST0F'><tr id='VST0F'><dt id='VST0F'><q id='VST0F'><span id='VST0F'><b id='VST0F'><form id='VST0F'><ins id='VST0F'></ins><ul id='VST0F'></ul><sub id='VST0F'></sub></form><legend id='VST0F'></legend><bdo id='VST0F'><pre id='VST0F'><center id='VST0F'></center></pre></bdo></b><th id='VST0F'></th></span></q></dt></tr></i><div class="mc2sigi" id='VST0F'><tfoot id='VST0F'></tfoot><dl id='VST0F'><fieldset id='VST0F'></fieldset></dl></div>

                        <tbody id='VST0F'></tbody>
                        <bdo id='VST0F'></bdo><ul id='VST0F'></ul>

                          <small id='VST0F'></small><noframes id='VST0F'>

                        1. <legend id='VST0F'><style id='VST0F'><dir id='VST0F'><q id='VST0F'></q></dir></style></legend>

                          • 主站蜘蛛池模板: 深圳市八百通智能技术有限公司官方网站 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 上海洗地机-洗地机厂家-全自动洗地机-手推式洗地机-上海滢皓洗地机 | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 搪玻璃冷凝器_厂家-越宏化工设备 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | led冷热冲击试验箱_LED高低温冲击试验箱_老化试验箱-爱佩百科 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 深圳市东信高科自动化设备有限公司 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 济南律师,济南法律咨询,山东法律顾问-山东沃德律师事务所 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 警方提醒:赣州约炮论坛真的安全吗?2025年新手必看的网络交友防坑指南 | 数控走心机-双主轴走心机厂家-南京建克| 紧急泄压人孔_防爆阻火器_阻火呼吸阀[河北宏泽石化] | 集装袋吨袋生产厂家-噸袋廠傢-塑料编织袋-纸塑复合袋-二手吨袋-太空袋-曹县建烨包装 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 婚博会2024时间表_婚博会门票领取_婚博会地址-婚博会官网 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 股票入门基础知识_股票知识_股票投资大师_格雷厄姆网 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 |