原創(chuàng)|行業(yè)資訊|編輯:龔雪|2015-10-30 13:04:25.000|閱讀 2928 次
概述:你是否曾經(jīng)花費(fèi)很長時(shí)間來調(diào)試你的代碼呢?對(duì)于大多數(shù)程序員來說,這可能是最讓人頭疼的環(huán)節(jié),現(xiàn)在有一個(gè)解決方案可以幫助我們縮短這項(xiàng)繁瑣任務(wù)所要花費(fèi)的時(shí)間。自動(dòng)化測(cè)試通過預(yù)先編寫測(cè)試驅(qū)動(dòng)開發(fā)流程,能夠顯著提升PHP開發(fā)的工作效率。在這篇文章中,我們將會(huì)明白為什么自動(dòng)化測(cè)試如此酷炫,它是如何工作的,以及你會(huì)用到的最好的測(cè)試框架。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
PHP開發(fā)新手往往不會(huì)測(cè)試自己編寫的代碼,我們中的大多數(shù)通過不斷測(cè)試我們剛剛所編寫瀏覽器窗口的新特性和功能來進(jìn)行檢測(cè),但是當(dāng)事情出現(xiàn)錯(cuò)誤的時(shí)候我們往往不知道應(yīng)該做些什么。
為我們的代碼進(jìn)行測(cè)試可以節(jié)省寶貴的調(diào)試時(shí)間,當(dāng)未測(cè)試的代碼應(yīng)用到產(chǎn)品中,回顧那些可能做得不是很好的地方,我們能做些什么?也許最好的辦法就是建立一個(gè)產(chǎn)品測(cè)試流程,編寫自己的測(cè)試代碼來檢測(cè)我們的應(yīng)用程序代碼是否正常工作。關(guān)鍵在于測(cè)試代碼需要在應(yīng)用代碼之前編寫,這樣我們可以確保一開始,我們寫的代碼正確之后,測(cè)試代碼進(jìn)入單獨(dú)的文件中。如果我們以后碰到PHP應(yīng)用程序匯總的任何錯(cuò)誤,我們不需要做任何事情,只要運(yùn)行我們的測(cè)試代碼,就能夠得到關(guān)于這些問題的提示信息。
除了節(jié)省時(shí)間和適當(dāng)為準(zhǔn)備我們的產(chǎn)品應(yīng)用程序,測(cè)試還有其他許多的優(yōu)點(diǎn):
當(dāng)然,我們可以手動(dòng)編寫我們的測(cè)試,但一段時(shí)間過后,在許重復(fù)的任務(wù)中,它會(huì)變得繁瑣和耗時(shí)。通過使用特定的軟件,手工測(cè)試可以被自動(dòng)化測(cè)試所取代,我們就可以花費(fèi)更多的時(shí)間到代碼測(cè)試邏輯。
1.
PHPUnit是編寫PHP應(yīng)用程序的單元測(cè)試中最有名的測(cè)試框架。單元測(cè)試提取的一小部分代碼我們稱之為單元,然后一個(gè)個(gè)地測(cè)試它們。有了PHPUnit我們能進(jìn)行測(cè)試驅(qū)動(dòng)開發(fā)。
它能夠通過命令行使用,并且為我們提供了一個(gè)TestCase類,我們能夠根據(jù)需要進(jìn)行擴(kuò)展。PHPUnit允許開發(fā)者使用預(yù)先編寫的聲明方法來聲明應(yīng)用程序具有的特有模式。
2.
Codeception不僅能夠讓我們編寫單元測(cè)試,也能夠編寫功能測(cè)試和驗(yàn)收測(cè)試。后面這兩種PHP應(yīng)用程序的測(cè)試作為一個(gè)整體,所有的功能都綁在一起,不作為一個(gè)單元。Codeception允許我們根據(jù)開發(fā)需求啟用和配置不同的模塊。
它集成了許多的PHP開發(fā)框架例如Symfony2, Laravel4, Yii, Phalcon, 和the Zend Framework。這也就意味著我們能夠使用一個(gè)PHP自動(dòng)化測(cè)試框架和一個(gè)PHP開發(fā)框架去建立一個(gè)高效的開發(fā)流程。
3.
Behat是一個(gè)比較流行的行為驅(qū)動(dòng)PHP測(cè)試框架。我們使用Behat編寫的測(cè)試更像是一個(gè)故事而不是代碼。 Behat使用測(cè)試驅(qū)動(dòng)開發(fā)中StoryBDD 的子類型。
該框架的靈感來自于Cucumber項(xiàng)目,它是一個(gè)專門為Ruby語言開發(fā)的測(cè)試框架。
4.
PHPSpec也遵循下面的行為驅(qū)動(dòng)的測(cè)試方法,但是它的其它子類型被稱為 SpecBDD。使用PHPSpec我們需要寫應(yīng)用程序代碼的首要規(guī)范。這是受到了Ruby測(cè)試框架RSpec的啟發(fā)而來。
5.
SimpleTest是一個(gè)易于使用的PHP單元測(cè)試框架,應(yīng)用于測(cè)試驅(qū)動(dòng)開發(fā)方式中,它可以看做PHPUnit的替代。SimpleTest 支持SSL,forms,proxies,frames和基本身份驗(yàn)證,它還允許我們測(cè)試基本的PHP任務(wù)。
6.
Storyplayer是一個(gè)全棧測(cè)試框架,能為整個(gè)平臺(tái)寫端到端的測(cè)試。Storyplayer已經(jīng)支持創(chuàng)建和銷毀測(cè)試環(huán)境。它遵循TDD測(cè)試方法,允許我們編寫可以檢查應(yīng)用程序的功能測(cè)試。
7.
Peridot是一個(gè)輕量級(jí)的PHP擴(kuò)展測(cè)試框架。它采用了一個(gè)事件驅(qū)動(dòng)的結(jié)構(gòu),允許開發(fā)者通過插件自定義框架。
8.
Atoum是一個(gè)直觀并且現(xiàn)代的PHP測(cè)試框架,允許我們運(yùn)行單元測(cè)試。它簡化了測(cè)試開發(fā),并且由于它是一個(gè)新興的框架,充分利用了PHP5.3中介紹的一些新功能,給我們提供了一個(gè)快速和易于理解的測(cè)試過程。
9.
Kahlan是一個(gè)功能齊全的BDD測(cè)試框架,可以使用描述它的語法編寫單元測(cè)試。它包含了KISS的設(shè)計(jì)原則。
它有一個(gè)小的代碼庫,據(jù)說比PHPUnit小10倍,它為我們提供了一個(gè)可擴(kuò)展、可自定義的測(cè)試流程。
10.
Selenium是一個(gè)復(fù)雜的自動(dòng)化測(cè)試框架。這意味著它可能被用于編寫用戶接受測(cè)試來檢測(cè)整個(gè)應(yīng)用程序。
Selenium是一個(gè)強(qiáng)大的工具,自身擁有的擁有WebDriver API,能夠驅(qū)動(dòng)瀏覽器本身就像一個(gè)真實(shí)的用戶在本地或遠(yuǎn)程連接到計(jì)算機(jī)上。Selenium在測(cè)試成熟的Web應(yīng)用程序中是一個(gè)非常優(yōu)秀的工具。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn