Yii2单元测试用法示例_php实例

本文实例讲述了Yii2单元测试用法。分享给大家供大家参考,具体如下:

使用composer方式安装yii2-app-basic (https://github.com/yiisoft/yii2-app-basic/blob/master/README.md) 装好后既可以使用

建一个Model文件EntryForm.php在models目录下

<?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'],
    ];
  }
}

建一个EntryFormTest.php放在tests/unit/models目录下

<?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');
  }
}

项目根目录下运行

composer exec codecept run unit

输出

。。。。。。
 EntryFormTest: Valid input (0.00s)
 EntryFormTest: Invalid input (0.00s)
 EntryFormTest: Model property (0.00s)

这里全部成功了,如果测试失败,会显示具体失败信息。

这里主要是3个方法

expect_that: 假设为true
expect_not: 假设为false
expect: 假设目标对象,后面可以接verify方法,具体方法列表在vendor/codeception/verify/src/Codeception/Verify.php文件中

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索单元测试
yii2
yii分页用法实例详解、wx.notebook用法示例、halcon算子用法示例、qdebug用法示例、校对符号及用法示例,以便于您获取更多的相关知识。

时间: 2024-12-30 00:55:12

Yii2单元测试用法示例_php实例的相关文章

Yii2中DropDownList简单用法示例_php实例

本文实例讲述了Yii2中DropDownList简单用法.分享给大家供大家参考,具体如下: 这里以实际应用为例讲解Yii2 DropDownList用法. 有一张分类表,无限极分类那种,表结构如下,pid就是父分类ID 这里我们要实现: 新建分类的时候,父分类可以从所有分类中任选一个或者不选 编辑分类时,父分类不能选择当前编辑的分类...如果选自己,父分类就是自己了,必然出错! 实现代码如下,我就贴上form的全部代码吧 <?php use common\models\Category; use

Yii2中关联查询简单用法示例_php实例

本文实例讲述了Yii2中关联查询用法.分享给大家供大家参考,具体如下: 有两张表,post和category,post.cate_id对应category.id 使用Gii上升这两张表的model 然后post的model中有如下代码 public function getCate() { return $this->hasOne(Category::className(), ['id' => 'cate_id']); } 在post这个model最下面在添加如下方法即可获取关联表内容 pub

yii2缓存Caching基本用法示例_php实例

本文实例讲述了yii2缓存Caching基本用法.分享给大家供大家参考,具体如下: 在yii的配置文件中添加: 'cache' => [ 'class' => 'yii\caching\ApcCache', ], 缓存的使用: <?php $key = 'cacheKey'; //读取缓存 $data = Yii::$app->cache->get($key); //判断缓存是否存在,如果不存就生成缓存 if ($data === false) { $cache->se

Fleaphp常见函数功能与用法示例_php实例

本文实例讲述了Fleaphp常见函数功能与用法.分享给大家供大家参考,具体如下: 1. FLEA_Db_TableDataGateway::update()用法: 例如:修改一条 uid=22 的记录, name字段改成"11", pass字段改成"22",就要这样写: $data = array('uid'=>22,'name'=>11,'pass'=>22); $table->update($data); 2. FLEA_Db_Table

php版微信发红包接口用法示例_php实例

本文实例讲述了php版微信发红包接口用法.分享给大家供大家参考,具体如下: 微信红包功能我相信各位朋友都知道吧,但如果我们要把红包集成到网站那么要如何来做呢?这里小编就来为各位分享一个php 微信发红包接口测试实例,希望文章能够帮助到各位朋友 下面是一个类,使用方法: $arr['openid']='ojgTTt8oF9VdYcGsJMACHpA-jy1U'; $arr['hbname']="提现申请"; $arr['body']="您的提现申请已经成功"; $ar

php版微信自动获取收货地址api用法示例_php实例

本文实例讲述了php版微信自动获取收货地址api用法.分享给大家供大家参考,具体如下: 微信公众平台现在是越来越强大了,我们可以通过各种api接口来与平台对接获取对应的数据了,下面来看一个由php实现的微信自动获取收货地址api程序,具体如下. 关于接口的说明我就不介绍了,在官方可以看到下面只看处理程序. public function get_address_api() { $APPID=C('APPID'); $SCRETID=C('SCRETID'); if (!isset($_GET['

Yii2中SqlDataProvider用法示例_php实例

本文实例讲述了Yii2中SqlDataProvider用法.分享给大家供大家参考,具体如下: 第一种方法: $totalCount = Yii::$app->db->createCommand('SELECT COUNT(*) FROM posts WHERE publish=:publish', [':publish' => 1]) ->queryScalar(); $dataProvider = new SqlDataProvider([ 'sql' => 'SELECT

Yii框架中jquery表单验证插件用法示例_php实例

本文实例讲述了Yii框架中jquery表单验证插件用法.分享给大家供大家参考,具体如下: 运行效果图如下: 视图层: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

Zend Framework前端控制器用法示例_php实例

本文实例讲述了Zend Framework前端控制器用法.分享给大家供大家参考,具体如下: 常用方法 1.getInstance() 功能:用于获取前端控制器实例. 代码如下: <?php $front = Zend_Controller_Front::getInstance(); 执行上述代码,将创建一个前端控制器实例. 2.setControllerDirectory() 功能:用于通知分发器到何处查找动作控制器action controller类文件. 3.getControllerDir