亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

PHPUnit 加速技巧分享

weizx / 918人閱讀

摘要:接下來我們將會(huì)介紹一些可以快速實(shí)現(xiàn)的小技巧,讓你的代碼測(cè)試變得更快。該示例測(cè)試套件有意地模擬更廣泛的測(cè)試集合,并突出改進(jìn)的可行性。真實(shí)情況下,效率的提升可能有所差異。我認(rèn)為相比通過提升一點(diǎn)速度帶來的好處,保持生產(chǎn)環(huán)境一致更重要。

具備高效的測(cè)試一如編寫高效的應(yīng)用一樣重要。作為開發(fā)者來說,迅速得知你剛編寫的代碼是否能夠正常運(yùn)行,能夠讓開發(fā)效率大大提升。接下來我們將會(huì)介紹一些可以快速實(shí)現(xiàn)的小技巧,讓你的代碼測(cè)試變得更快。

該示例測(cè)試套件有意地模擬更廣泛的測(cè)試集合,并突出改進(jìn)的可行性。真實(shí)情況下,效率的提升可能有所差異。

ParaTest

這個(gè)包?是一個(gè)用來運(yùn)行你的測(cè)試套件的 PHPUnit 擴(kuò)展。 和 PHPUnit 不一樣的是它可以利用你的多核 CPU 來并行的運(yùn)行測(cè)試用例。

你可以通過 composer 來將它作為一個(gè)開發(fā)依賴安裝以后開始使用 ParaTest 。

composer require --dev brianium/paratest

現(xiàn)在我們就可以像調(diào)用 PHPUnit 一樣來調(diào)用 ParaTest 了。它會(huì)自動(dòng)的根據(jù)你機(jī)器 CPU 核心數(shù)來判斷要啟動(dòng)多少個(gè)進(jìn)程。

說明:盡管這樣看上去很容易,你應(yīng)該考慮生產(chǎn)環(huán)境數(shù)據(jù)庫一致性問題。如果你在生產(chǎn)環(huán)境使用了 MySQL 數(shù)據(jù)庫,你應(yīng)該警惕引入不同數(shù)據(jù)庫所帶來的測(cè)試上的不同,比如 SQLite。我在這篇文章 my feature test suite setup 里描述了很多細(xì)節(jié)上的不同點(diǎn)。我認(rèn)為相比通過提升一點(diǎn)速度帶來的好處,保持生產(chǎn)環(huán)境一致更重要。

禁用 Xdebug

如果你平時(shí)用不到 Xdebug 的話,可以禁用掉它,因?yàn)樗鼤?huì)降低 PHP 執(zhí)行速度,導(dǎo)致測(cè)試用例運(yùn)行緩慢。如果你日常使用它來調(diào)試的話,為了執(zhí)行測(cè)試而禁用它可能不是一個(gè)好的選擇 —— 但你始終要知道這一點(diǎn)當(dāng)你關(guān)注測(cè)試用例執(zhí)行速度時(shí)。

你可以在下面這個(gè)測(cè)試用例看到,一旦我們禁用了 Xdebug,執(zhí)行速度將會(huì)有極大的提高。下面是這個(gè)測(cè)試用例在 Xdebug 啟用時(shí)的執(zhí)行情況:

以及同樣的測(cè)試用例在 Xdebug 禁用時(shí)的執(zhí)行情況:

修復(fù)測(cè)試速度過慢

當(dāng)然我們最希望看到的段落是是:修復(fù)測(cè)試速度過慢!如果您正在努力確定哪些測(cè)試導(dǎo)致測(cè)試單元變慢時(shí),您可能需要查看 PHPUnit Report 。它是一個(gè)開源工具,允許您通過生成如下所示的云可視化您的測(cè)試單元的性能,其中較大的氣泡代表慢速測(cè)試。這將使您能夠在單元中找到最慢的測(cè)試并逐步提高其性能。

轉(zhuǎn)自 PHP / Laravel 開發(fā)者社區(qū) https://laravel-china.org/top...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/29998.html

相關(guān)文章

  • PHP / Laravel 月刊 #23

    摘要:大刀闊斧的改造在學(xué)習(xí)了兩遍之后,基于教程開發(fā)的校園二手書交易平臺(tái)熊能本周閱讀清單紙牌屋弗蘭克知道的太晚了實(shí)現(xiàn)微信紅包拆分算法聊聊最近求職發(fā)生的故事無銘更多現(xiàn)代化知識(shí),請(qǐng)前往知識(shí)社區(qū) showImg(https://segmentfault.com/img/bV8ctF?w=1650&h=1100); 最新資訊 Laravel 5.6 中文文檔翻譯完成,譯者 60 人,耗時(shí) 10 天...

    klinson 評(píng)論0 收藏0
  • 寫 Laravel 測(cè)試代碼 (六)

    摘要:寫測(cè)試代碼時(shí),有時(shí)候需要利用來生成測(cè)試代碼覆蓋率報(bào)告,方便調(diào)試和檢查。測(cè)試報(bào)告存放在,是文件,可在瀏覽器中打開。當(dāng)然,要生成測(cè)試報(bào)告,測(cè)試運(yùn)行速度就會(huì)大大降低。,有了測(cè)試報(bào)告可作為調(diào)試和檢查代碼的補(bǔ)充手段,能從整體層面查看代碼的質(zhì)量。 寫測(cè)試代碼時(shí),有時(shí)候需要利用phpunit來生成測(cè)試代碼覆蓋率報(bào)告,方便調(diào)試和檢查。本文主要聊聊如何在PHPStorm中配置phpunit。 假設(shè)php...

    VincentFF 評(píng)論0 收藏0
  • 幾個(gè)CSS技巧分享

    摘要:創(chuàng)建剪切動(dòng)畫對(duì)于剪切動(dòng)畫,使用代替,避免重排導(dǎo)致性能過低。其中屬于萬金油,大多數(shù)場(chǎng)景可以直接用它,但還是有些特殊的場(chǎng)景不能用子元素需要文字截?cái)?,為了兼容的瀏覽器,必須使用其他方式一般是子元素需要多行布局,的不支持,不能多行布局 創(chuàng)建剪切動(dòng)畫 對(duì)于剪切動(dòng)畫,使用clip-path代替width/height,避免DOM重排導(dǎo)致性能過低。 .animate { width: 200px...

    itvincent 評(píng)論0 收藏0
  • Laravel學(xué)習(xí)筆記之Core Concepts in Guzzle Package——Strea

    摘要:使用了來表示該,該接口也是對(duì)的抽象,暴露了一些常用方法判斷是否滿足要求的方法的讀寫相關(guān)操作獲取元數(shù)據(jù)方法操作指針相關(guān)方法等等。本篇主要學(xué)習(xí)下相關(guān)使用。后續(xù)還會(huì)分享相關(guān)使用,到時(shí)見。 說明:本文主要學(xué)習(xí)guzzlehttp/guzzle package的使用,該package提供了一套發(fā)送HTTP請(qǐng)求API,就像phpunit package, mockery package, symf...

    singerye 評(píng)論0 收藏0
  • 途牛原創(chuàng)|大話權(quán)限中心的PHP架構(gòu)之道

    摘要:權(quán)限中心的依賴聲明聲明依賴關(guān)系檢查代碼規(guī)范聲明開發(fā)依賴命名空間檢查代碼規(guī)范,執(zhí)行單元測(cè)試。單元測(cè)試持續(xù)交付一切都如此的完美,沒有測(cè)試,又如何可以證明這件事情的完美,又如何可以保障交付的質(zhì)量。 序 權(quán)限管理是無線運(yùn)營(yíng)系統(tǒng)中的核心模塊,通過訪問控制策略的配置,來約定人與資源的訪問關(guān)系。 本文著重講解如何通過PHP來構(gòu)建一個(gè)靈活、通用、安全的權(quán)限管理系統(tǒng)。 關(guān)于權(quán)限 首先我們來聊聊權(quán)限。 權(quán)...

    miracledan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<