《PHP應用:Yii2單元測試用法示例》要點:
本文介紹了PHP應用:Yii2單元測試用法示例,希望對您有用。如果有疑問,可以聯系我們。
相關主題:YII框架
PHP實戰本文實例講述了Yii2單元測試用法.分享給大家供大家參考,具體如下:
PHP實戰使用composer方式安裝yii2-app-basic (https://github.com/yiisoft/yii2-app-basic/blob/master/README.md) 裝好后既可以使用
PHP實戰建一個Model文件EntryForm.php在models目錄下
PHP實戰
<?php
namespace app\models;
use Yii;
use yii\base\Model;
class EntryForm extends Model
{
public $name;
public $email;
public function rules()
{
return [
[['name', 'email'], 'required'],
['email', 'email'],
];
}
}
PHP實戰建一個EntryFormTest.php放在tests/unit/models目錄下
PHP實戰
<?php
namespace tests\models;
use app\models\EntryForm;
class EntryFormTest extends \Codeception\Test\Unit
{
public function testValidInput()
{
$model = new EntryForm();
$model->name = 'Harry Qin';
$model->email = '15848778@qq.com';
expect_that($model->validate());
return $model;
}
public function testInvalidInput()
{
$model = new EntryForm();
$model->name = 'Harry Qin';
$model->email = 'xxyy';
expect_not($model->validate());
$model = new EntryForm();
$model->name = '';
$model->email = '15848778@qq.com';
expect_not($model->validate());
}
/**
* 下面一行表示這里輸入的參數值來自testValidInput的輸出
* @depends testValidInput
*/
public function testModelProperty($model)
{
expect($model->name)->equals('Harry Qin');
}
}
PHP實戰項目根目錄下運行
PHP實戰
composer exec codecept run unit
PHP實戰輸出
PHP實戰
......
? EntryFormTest: Valid input (0.00s)
? EntryFormTest: Invalid input (0.00s)
? EntryFormTest: Model property (0.00s)
PHP實戰這里全部成功了,如果測試失敗,會顯示具體失敗信息.
PHP實戰這里主要是3個方法
PHP實戰expect_that: 假設為true
expect_not: 假設為false
expect: 假設目標對象,后面可以接verify方法,具體方法列表在vendor/codeception/verify/src/Codeception/Verify.php文件中
PHP實戰更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
PHP實戰希望本文所述對大家基于Yii框架的PHP程序設計有所幫助.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/2809.html