婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ThinkPHP5與單元測試PHPUnit使用詳解

ThinkPHP5與單元測試PHPUnit使用詳解

熱門標簽:昭通辦理400電話 山西探意電話機器人 百應電話機器人服務 河南電銷卡外呼系統哪家強 青島語音外呼系統招商 騰訊外呼管理系統 山西回撥外呼系統 岳陽外呼型呼叫中心系統在哪里 揚州地圖標注app

thinkphp5.0 是 tp 發展路線第一個支持 composer 的。tp 有自己的載入機制,composer 也有自己的載入機制。

官方提供了 think-testing 組件可以通過 composer require topthink/think-testing 1.* 安裝,但我對這個測試組件不是很滿意,原因是它每個測試都是模擬成 http 請求。這也就意味著對于一些特定函數,還得封裝到控制器中或者路由,該控制器還得控制它生產環境不能對外開放。thinkphp5.0 是 tp 發展路線第一個支持 composer 的。tp 有自己的載入機制,composer 也有自己的載入機制。

PHPUnit 是一個用PHP編程語言開發的開源軟件,是一個單元測試框架。PHPUnit由Sebastian Bergmann創建,源于Kent Beck的SUnit,是xUnit家族的框架之一。

單元測試是對單獨的代碼對象進行測試的過程,比如對函數、類、方法進行測試。單元測試可以使用任意一段已經寫好的測試代碼,也可以使用一些已經存在的測試框架,比如JUnit、PHPUnit或者Cantata++,單元測試框架提供了一系列共同、有用的功能來幫助人們編寫自動化的檢測單元,例如檢查一個實際的值是否符合我們期望的值的斷言。單元測試框架經常會包含每個測試的報告,以及給出你已經覆蓋到的代碼覆蓋率。

總之一句話,使用 phpunit 進行自動測試,會使你的代碼更健壯,減少后期維護的成本,也是一種比較標準的規范,現如今流行的PHP框架都帶了單元測試,如Laraval,Symfony,Yii2等,單元測試已經成了標配。

另外,單元測試用例是通過命令操控測試腳本的,而不是通過瀏覽器訪問URL的。

項目內安裝PHPUnit

使用 composer 方式安裝 PHPUnit 項目根目錄下執行下面這段代碼

composer require phpunit/phpunit 

自動下載適配版本  我下載的時4.8.36

將 F:\wamp\wamp\www\tp5\vendor\bin 添加加到 PATH 環境變量中(這樣PHPunit全局生效)

PHPUnit簡單用法

1、單個文件測試

根目錄下創建目錄tests

新建文件 FirstTest.php,編輯如下: 

?php
/**
 * 1、引入autoload.php文件
 * 2、測試案例
 *
 *
 */
namespace App\tests;
require_once __DIR__ . '/../vendor/autoload.php';
 
 
use PHPUnit\Framework\TestCase;
 
 
class FirstTest extends TestCase
{
  public function testTure()
  {
    $stack = [];
    $this->assertEquals(0, count($stack));
  }
}

代碼解釋:

FirstTest為測試類FirstTest繼承于 PHPUnit\Framework\TestCase測試方法testTure(),測試方法必須為public權限,一般以test開頭,或者你也可以選擇給其加注釋@test來表在測試方法內,類似于 assertEquals() 這樣的斷言方法用來對實際值與預期值的匹配做出來以此判斷方法是否正確

命令行執行:
tests目錄下 執行  >phpunit FirstTest     命令 測試文件命名

測試項目內方法 

tp5項目下的控制器在  F:\wamp\wamp\www\tp5\application\index\controller 文件夾下 寫一個簡單的方法

在tests內寫一個IndexTest.php

?php
 
namespace App\tests;
require_once __DIR__ . '/../vendor/autoload.php';
 
use PHPUnit\Framework\TestCase;
use app\index\controller\Index;
 
 
class IndexTest extends TestCase
{
  public function testSum()
  {
    $obj = new Index;
    $this->assertEquals(6, $obj->index(2,3));
 
  }
 
}

執行后的結果  成功!

如果我在index.php,和IndexTest.php都故意寫錯 

返回結果  會有錯誤位置

其他用法

其他用法請參考官網:PHPUnit中國官網 

您可能感興趣的文章:
  • PHPUnit 單元測試安裝與使用入門教程
  • PHP單元測試配置與使用方法詳解
  • PHPUnit + Laravel單元測試常用技能
  • PHP使用phpunit進行單元測試示例
  • 使用PHPUnit進行單元測試并生成代碼覆蓋率報告的方法
  • PHPStorm中如何對nodejs項目進行單元測試詳解
  • PHP單元測試框架PHPUnit用法詳解
  • thinkPHP框架單元測試庫tpunit用法示例
  • 淺談如何提高PHP代碼質量之單元測試

標簽:黃南 婁底 宜賓 寶雞 銅川 南陽 鎮江 湛江

巨人網絡通訊聲明:本文標題《ThinkPHP5與單元測試PHPUnit使用詳解》,本文關鍵詞  ThinkPHP5,與,單元,測試,PHPUnit,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ThinkPHP5與單元測試PHPUnit使用詳解》相關的同類信息!
  • 本頁收集關于ThinkPHP5與單元測試PHPUnit使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 偃师市| 博野县| 岑巩县| 云霄县| 墨竹工卡县| 綦江县| 兴安县| 岳池县| 西和县| 浙江省| 绥芬河市| 泾川县| 营口市| 临夏县| 黎川县| 天峻县| 屯留县| 肃宁县| 临漳县| 太谷县| 上杭县| 辽阳县| 新巴尔虎左旗| 清镇市| 漯河市| 阜平县| 焦作市| 山西省| 肃宁县| 普格县| 伊川县| 惠水县| 西和县| 土默特右旗| 普陀区| 察哈| 大理市| 巍山| 义马市| 信宜市| 凌源市|