91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP單元測試使用手冊

發布時間:2020-07-26 17:42:07 來源:網絡 閱讀:407 作者:Seven_engine 欄目:web開發

1 單元測試簡介

1.1 單元測試

單元測試:是指對軟件中的最小可測試單元進行檢查和驗證。(單一模塊、一個過程、一個函數等)

1.2 單元測試范圍和目標

    單元測試包含計劃階段、設計階段、實現階段和執行階段。起始于詳細設計,主要是各模塊的源代碼進行測試,直到單元階段結束后終止。此時主要是PHP單元測試。

單元測試的目標是隔離程序部件并證明這些單個部件是正確的。一個單元測試提供了代碼片斷需要滿足的嚴密的書面規約。

2 安裝與使用

2.1 安裝PHPUnit

1、在Linux中下載PHPUnit  wget https://phar.phpunit.de/phpunit.phar

2、添加執行權限 chmod +x phpunit.phar

3更改路徑mv phpunit.phar  /usr/local/bin/phpunit

4、查看phpunit版本 phpunit --version


2.2 使用

1、如有詳細設計文檔,先仔細閱讀詳細設計文檔;針對需要測試的PHP代碼先進行靜態走讀(查看是否正規編寫、查看是否有邏輯錯誤、查看是否有未實現的功能等。)

2、編寫測試腳本(以xxx.php為例)

1)首先是調用xxx配置文件以及調用PHPunit


PHP單元測試使用手冊

有些是這樣的:
/**************測試加載******************/
const CONFIG_ENV = 'office';

// include_once __DIR__."/../../sdk/Autoload.php";
// include_once "ApiHelper.php";
include('/data/wuheyou_php/trunk/sdk/Autoload.php');
ImportModule('home');

2)然后測試模塊加載類

PHP單元測試使用手冊


3)最后編寫測試用例(根據php代碼,分析等,傳入正確參數、錯誤參數、缺失參數、多余參數、路徑覆蓋、條件判斷等)

PHP單元測試使用手冊

訪問私有函數
	public function testuserTechDonateResource(){
		print("資源爭奪戰個人科技貢獻");
		for ($i=0; $i<=20; $i++){
			//資源爭奪戰 8基礎戰力,9幸運倍率,10守城加成,11寬度
			$boss = new GangTech(144540,136);
			$method = new ReflectionMethod('GangTech','userTechDonateResource');
			$method->setAccessible(true);
			$tech_id = 9;
			$type = 3;//資源爭奪戰
			$result = $method->invoke($boss,$tech_id,$type);
			var_dump($result);
			$this->assertArraySubset(["result"=>"true"],array("result"=>"true","code"=>0,"msg"=>"成功","data"=>array("next_score"=>60,"star"=>3)));
			}
	}
例子:1
	public function testPublishGuessodds(){
		echo "odds為負數!\n";
		$guess = new GameGuess();
		$uid = 186;
		$guessdesc = "這是我的猜猜猜22222";
		//$options = array(array('option_name'=>'我是誰', 'odds'=>1.6),array('option_name'=>'我是誰2', 'odds'=>1.5));//傳入多組
		$options[] = array('option_name'=>'是是是是是', 'odds'=>-1.6);//傳入單組
		$aborttime = '1449049541';  
		$result = $guess->publishGuess($uid,$guessdesc,$options,$aborttime);
		// var_dump($result);
		$this->assertEquals('賠率設置不合法',$result->msg);
	}
例子2:
	public function testbestlist(){
		print ("\n 城市轉轉轉押注情況列表\n");
		$list = new GameCitytrun();
		$data = array('uid' =>183 , 'gtypeid' =>20 );
		$result = $list->betList($data);
		var_dump($result);
		$this->assertTrue(true);
	}	
例子3:
	public function testdoSpin(){
		print ("搖獎生成隨機數,作為×××的布局\n");
		$DSp = new GameBetTiger();
		$method = new ReflectionMethod('GameBetTiger','doSpin');
		$method->setAccessible(true);
		$res_num = array();
		$this->res_num = array(
            "1" => Array
                (
                    "11" => 4,
                    "21" => 2,
                    "31" => 5
                ),
            "2" => Array
                (
                    "12" => 5,
                    "22" => 2,
                    "32" => 7
                ),
            "3" => Array
                (
                    "13" => 4,
					"23" => 2,
                    "33" => 4
                ),
            "4" => Array
                (
                    "14" => 2,
                    "24" => 2,
                    "34" => 9
                ),
            "5" => Array
                (
                    "15" => 2,
                    "25" => 5,
                    "35" => 8
                )
        );
		$result = $method->invoke($DSp);
		var_dump($this->res_num);        	

3、執行對比返回結果 phpunitxxx.php

1)  正確數據發送請求時,查看返回數據是否正確、是否會報錯、數據庫中是否正常插入數據、關閉相關數據庫是否能正常工作等。

2)錯誤數據發送請求時,查看返回數據是否有異常處理、是否有報錯、數據是否有異常、等。

3)發現BUG,在提交BUG指向相關開發并督促修復bug,只至關閉BUG。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

温州市| 澄江县| 绥德县| 南京市| 本溪| 广南县| 海阳市| 武乡县| 伊吾县| 镇远县| 余干县| 察隅县| 鹤峰县| 蛟河市| 宝兴县| 格尔木市| 新丰县| 浑源县| 永修县| 南开区| 丹东市| 株洲市| 舞钢市| 吉隆县| 南部县| 武胜县| 会理县| 绥宁县| 仙桃市| 日照市| 万载县| 广灵县| 正定县| 盈江县| 资溪县| 琼中| 尖扎县| 钟祥市| 宣化县| 黎平县| 句容市|