国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHPUnit實(shí)踐一(初識(shí))

weapon / 2293人閱讀

摘要:另外一些單元測(cè)試可能會(huì)測(cè)試負(fù)向路徑的場(chǎng)景,保證代碼不僅會(huì)產(chǎn)生錯(cuò)誤,而且是預(yù)期的錯(cuò)誤。是一個(gè)面向程序員的測(cè)試框架,這是一個(gè)的體系結(jié)構(gòu)的單元測(cè)試框架。

本系列教程所有的PHPUnit測(cè)試基于PHPUnit6.5.9版本,Lumen 5.5框架

前置

日常我們的普通用到的測(cè)試:

代碼直接echo,debug等方法測(cè)試 -> 跟蹤細(xì)節(jié)斷點(diǎn)型測(cè)試

log日志輔助測(cè)試 -> 跟蹤細(xì)節(jié)斷點(diǎn)型測(cè)試

輔助工具,postman之類的做請(qǐng)求類測(cè)試->請(qǐng)求類測(cè)試

瀏覽器直接測(cè)試->瀏覽器測(cè)試

單元測(cè)試

單元測(cè)試是針對(duì)程序的最小單元來(lái)進(jìn)行正確性檢驗(yàn)的測(cè)試工作,程序單元就是應(yīng)用的最小可測(cè)試部件,一個(gè)單元可能是單個(gè)程序,類,對(duì)象,方法等

單元測(cè)試是用來(lái)測(cè)試包或者程序的一部分代碼或者一組代碼的函數(shù)。測(cè)試的目的是確認(rèn)目標(biāo)代碼在給定的場(chǎng)景下,有沒(méi)有按照期望工作。

一個(gè)場(chǎng)景是正向路經(jīng)測(cè)試,就是在正常執(zhí)行的情況下,保證代碼不產(chǎn)生錯(cuò)誤的測(cè)試。這種測(cè)試可以用來(lái)確認(rèn)代碼可以成功地向數(shù)據(jù)庫(kù)中插入一條工作記錄。

另外一些單元測(cè)試可能會(huì)測(cè)試負(fù)向路徑的場(chǎng)景,保證代碼不僅會(huì)產(chǎn)生錯(cuò)誤,而且是預(yù)期的錯(cuò)誤。

這種場(chǎng)景下的測(cè)試可能是對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢時(shí)沒(méi)有找到任何結(jié)果,或者對(duì)數(shù)據(jù)庫(kù)做了無(wú)效的更新。

在這兩種情況下,測(cè)試都要驗(yàn)證確實(shí)產(chǎn)生了錯(cuò)誤,且產(chǎn)生的是預(yù)期的錯(cuò)誤。總之,不管如何調(diào)用或者執(zhí)行代碼,所寫(xiě)的代碼行為都是可預(yù)期的

優(yōu)點(diǎn)或改善解決問(wèn)題

減少bug

通過(guò)運(yùn)行單元測(cè)試可以直接測(cè)試各個(gè)功能的正確性,有bug可以直接發(fā)現(xiàn)并解決,如果要等到跟其他的功能對(duì)接,進(jìn)行連貫測(cè)試,測(cè)試比較麻煩,而且bug不能及早的發(fā)現(xiàn)并解決

快速定位bug

如果是web項(xiàng)目的某一個(gè)功能,平常我們定位bug可能是頁(yè)面輸入值,后臺(tái)斷點(diǎn),一步一步的需要bug位置,如果有編寫(xiě)單元測(cè)試,則可以直接修改數(shù)據(jù),運(yùn)行單元測(cè)試即可,快速有限

提高代碼質(zhì)量

如果每一個(gè)部件都是完美的,那么組合起來(lái)肯定也是完美的。整體代碼質(zhì)量就得到了保障

減少調(diào)試時(shí)間

當(dāng)不知問(wèn)題所在的時(shí)候,可能需要各種調(diào)試與運(yùn)行,而如果所有的都有編寫(xiě)單元測(cè)試,那么可以直接運(yùn)行單元測(cè)試,就能定位問(wèn)題所在位置。

PHPUnit

PHPUnit是一個(gè)面向PHP程序員的測(cè)試框架,這是一個(gè)xUnit的體系結(jié)構(gòu)的單元測(cè)試框架。

版本
主版本 初始版本 PHP兼容性 支持 后臺(tái)框架對(duì)應(yīng)版本
PHPUnit 8 2019年2月1日 PHP 7.2, PHP 7.3, PHP 7.4 在2021年2月5日結(jié)束支持
PHPUnit 7 2018年2月2日 PHP 7.1, PHP 7.2, PHP 7.3 在2020年2月7日結(jié)束支持
PHPUnit 6 2017年2月3日 PHP 7.0, PHP 7.1, PHP 7.2 在2019年2月1日結(jié)束支持 *
PHPUnit 5 2015年10月2日 PHP 5.6, PHP 7.0, PHP 7.1 在2018年2月2日結(jié)束支持
PHPUnit 4 2014年3月7日 PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6 在2017年2月3日結(jié)束支持
你的第一個(gè)單元測(cè)試demo 目錄結(jié)構(gòu)
tests
├── ExampleTest.php 測(cè)試用例
└── TestCase.php Lumen自帶測(cè)試基類,繼承PHPunit
代碼
assertTrue(true);
    }
    
    /**
     * 測(cè)試斷言失敗
     *
     * @return void
     */
    public function testFailure()
    {
        $this->assertTrue(false);
    }
    
    /**
     * 測(cè)試不加斷言,risky.
     *
     * @return void
     */
    public function testRisky()
    {
    }
}
運(yùn)行
../vendor/bin/phpunit ExampleTest.php
輸出
PHPUnit 6.5.9 by Sebastian Bergmann and contributors.

.FR                                                                 3 / 3 (100%)

Time: 902 ms, Memory: 10.00MB

There was 1 failure:

1) ExampleTest::testFailure
Failed asserting that false is true.

/web/www/wpt/gt-api/tests/ExampleTest.php:22

--

There was 1 risky test:

1) ExampleTest::testRisky
This test did not perform any assertions

FAILURES!
Tests: 3, Assertions: 2, Failures: 1, Risky: 1.
說(shuō)明
3個(gè)測(cè)試方法,2個(gè)斷言 一個(gè)斷言失敗,一個(gè)測(cè)試方法無(wú)斷言
輸出標(biāo)識(shí)說(shuō)明
.
當(dāng)測(cè)試成功時(shí)輸出。

F
當(dāng)測(cè)試方法運(yùn)行過(guò)程中一個(gè)斷言失敗時(shí)輸出。

E
當(dāng)測(cè)試方法運(yùn)行過(guò)程中產(chǎn)生一個(gè)錯(cuò)誤時(shí)輸出。

R
當(dāng)測(cè)試被標(biāo)記為有風(fēng)險(xiǎn)時(shí)輸出。

S
當(dāng)測(cè)試被跳過(guò)時(shí)輸出。

I
當(dāng)測(cè)試被標(biāo)記為不完整或未實(shí)現(xiàn)時(shí)輸出。
參考

PHPUnit 6.5 官方文檔

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/30054.html

相關(guān)文章

  • PHPUnit實(shí)踐初識(shí)

    摘要:另外一些單元測(cè)試可能會(huì)測(cè)試負(fù)向路徑的場(chǎng)景,保證代碼不僅會(huì)產(chǎn)生錯(cuò)誤,而且是預(yù)期的錯(cuò)誤。是一個(gè)面向程序員的測(cè)試框架,這是一個(gè)的體系結(jié)構(gòu)的單元測(cè)試框架。 本系列教程所有的PHPUnit測(cè)試基于PHPUnit6.5.9版本,Lumen 5.5框架 前置 日常我們的普通用到的測(cè)試: 代碼直接echo,debug等方法測(cè)試 -> 跟蹤細(xì)節(jié)斷點(diǎn)型測(cè)試 log日志輔助測(cè)試 -> 跟蹤細(xì)節(jié)斷點(diǎn)型測(cè)試 ...

    hss01248 評(píng)論0 收藏0
  • PHPUnit實(shí)踐三(構(gòu)建模塊化的測(cè)試單元)

    摘要:本系列教程所有的測(cè)試基于版本,框架目錄結(jié)構(gòu)模塊下的目錄是符合的模塊結(jié)構(gòu)的如等是模塊目錄下的結(jié)構(gòu)目錄如果有自己的目錄同級(jí)分配即可,如我這里的整體結(jié)構(gòu)重寫(xiě)過(guò)基類的測(cè)試基類,用于我們用這個(gè)基類做測(cè)試基類,后續(xù)會(huì)說(shuō)明自動(dòng)加載文件測(cè)試用例目錄某測(cè)試模 本系列教程所有的PHPUnit測(cè)試基于PHPUnit6.5.9版本,Lumen 5.5框架 目錄結(jié)構(gòu) 模塊下的目錄是符合Lumen的模塊結(jié)構(gòu)的如:...

    goji 評(píng)論0 收藏0
  • PHPUnit實(shí)踐二(生命周期)

    摘要:另外,與模板方法將分別在測(cè)試用例類的第一個(gè)測(cè)試運(yùn)行之前和測(cè)試用例類的最后一個(gè)測(cè)試運(yùn)行之后調(diào)用。 本系列教程所有的PHPUnit測(cè)試基于PHPUnit6.5.9版本,Lumen 5.5框架 PHPUnit測(cè)試一個(gè)文件類的生命周期 showImg(https://segmentfault.com/img/bVbnXJj?w=1330&h=1186); 理解PHPUnit加載機(jī)制(Lumen...

    jemygraw 評(píng)論0 收藏0
  • PHPUnit實(shí)踐二(生命周期)

    摘要:另外,與模板方法將分別在測(cè)試用例類的第一個(gè)測(cè)試運(yùn)行之前和測(cè)試用例類的最后一個(gè)測(cè)試運(yùn)行之后調(diào)用。 本系列教程所有的PHPUnit測(cè)試基于PHPUnit6.5.9版本,Lumen 5.5框架 PHPUnit測(cè)試一個(gè)文件類的生命周期 showImg(https://segmentfault.com/img/bVbnXJj?w=1330&h=1186); 理解PHPUnit加載機(jī)制(Lumen...

    617035918 評(píng)論0 收藏0
  • phpunit PHP單元測(cè)試的利器

    摘要:是的單元測(cè)試框架。單元測(cè)試在軟件開(kāi)發(fā)中越來(lái)越受到重視,測(cè)試先行編程極限編程和測(cè)試驅(qū)動(dòng)開(kāi)發(fā)在實(shí)踐中被廣泛。利用單元測(cè)試,也可以實(shí)現(xiàn)契約式設(shè)計(jì)。現(xiàn)在第二個(gè)測(cè)試也能通過(guò)啦你也可以使用契約式設(shè)計(jì)的風(fēng)格,只需使用類提供的靜態(tài)斷言方法編寫(xiě)契約條件。 PHPUnit是PHP的單元測(cè)試框架。單元測(cè)試在軟件開(kāi)發(fā)中越來(lái)越受到重視,測(cè)試先行編程、極限編程和測(cè)試驅(qū)動(dòng)開(kāi)發(fā)在實(shí)踐中被廣泛。利用單元測(cè)試,也可以實(shí)現(xiàn)...

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

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

0條評(píng)論

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