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

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

<?phpnamespace 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文件中

PS:

composer exec codecept build/run 有时候会失效,原因不明。

可以用以下命令取代

$ php vendor/bin/codecept build

$ php vendor/bin/codecept run

参考

http://stackoverflow.com/questions/37568503/how-to-run-unit-testscodeception-in-yii2-framework

转载于:https://www.cnblogs.com/zergling9999/p/6052766.html

yii2笔记: 单元测试相关推荐

  1. 使用Codeception进行Yii2的单元测试(一)安装以及简介篇

    一.简介 作为php工程师,我们很可能遇到一些有必要的进行单元测试的场景.本系列文章就来介绍下,在Yii2框架下,如何使用Codeception进行单元测试.本篇就首先介绍Yii2,以及Codecep ...

  2. 读书笔记-单元测试艺术(二)-单元测试框架

    一.说明 本次笔记所有的代码是在VS2013下运行的,使用的nunit.framework.dll版本为3.2.1.0,Reshaper版本为8.2.3 1.xUnit测试框架 大部分单元测试框架的名 ...

  3. Qt文档阅读笔记-单元测试中构建标准检测程序(CPU、Linux性能、内存泄漏等)

    这里需要介绍一个宏,主要就是靠使用这个宏完成功能: QBENCHMARK{//TODO } 在单元测试中,这个宏在那个函数中,那么这个函数就会进行多次测试,如果不需要多次调用可以用下面的这宏代替: Q ...

  4. Golang笔记——单元测试

    单元测试 先看一个需求 在我们工作中,我们会遇到这样的情况,就是去确认一个函数,或者一个模块的结果是否正确, 如: 传统的方法 传统的方式来进行测试 在 main 函数中,调用 addUpper 函数 ...

  5. iOS 读书笔记-单元测试XCTest

    测试驱动下的iOS开发.这两天看了一下关于这方面的基础知识.扫一下盲. 测试驱动开发,英文Test-Driven Development 简称TDD.他是一种新型的软件开发方法.他要求在写代码之前先编 ...

  6. kotlin学习笔记——单元测试

    Unit Test kotlin也可以进行unit testing,如果项目中之前没有,那么需要做一些准备工作. 首先引入依赖 testCompile 'junit:junit:4.12' 这里注意不 ...

  7. JAVASE相关知识点

    JavaSE 文章目录 JavaSE IDEA快捷键 EXPAND TIPS MEMO1 前置内容 MEMO2 DeBug.标识符.数据类型.进制相关 MEMO3 运算符 MEMO4 switch语句 ...

  8. 基于Xilinx的Kintex-7系列XC7K325T的硬件加速卡

    产品型号: B-PCIE-K7F5XILINX的Kintex-7系列FPGA处理器 B-PCIE-K7F5是一款基于PCI Express总线架构的高性能FPGA算法加速卡,该板卡采用Xilinx的高 ...

  9. 数据库原理复习与知识点总结

    2022.5.29 更新:大学最后一门考试考完啦,开始下一阶段的学习 2022.5.26 更新:成功更完,开始刷题! 2022.5.25 更新:争取明天更完 以下为原内容 第一章 绪论 1.1 数据库 ...

最新文章

  1. SQL2000中默认sa帐号改名和删除的最安全方法
  2. Vue实现仿音乐播放器6-实现新歌速递与swiper轮播图切换
  3. 2017 五月 UFED Series Releases 系列 6.2更新发布
  4. python绘制不带颜色曲线图_Python数据可视化库-Matplotlib——折线图,子图绘制
  5. 深入浅出 Java 中的包装类
  6. PCH文件的创建和配置
  7. using在sql中是什么意思_扇贝英语地道表达法——“call for”是什么意思呢?
  8. 边工作边刷题:70天一遍leetcode: day 34-1
  9. Windows Phone中Map控件由浅及深
  10. mysql版本升级对数据的影响_MySQL升级
  11. SVN客户端的使用方法
  12. 域名排名(前100万)
  13. 腾讯ISUX网页前端代码分析
  14. SD卡、TF卡、MMC卡、emmc、sdio扫盲
  15. Travelling Salesman Problem(旅行商问题)
  16. Java Web之第11章JSP开发模型
  17. [汇编语言 IBM-PC]寻址方式配套习题
  18. 78系列79系列稳压芯片
  19. Android7.0 Phone应用源码分析(三) phone拒接流程分析
  20. 树莓派怎么作为无线服务器,教大家用树莓派做一个无线路由器

热门文章

  1. win7讲述人修复_揭秘:干掉了win7!为何win10屡被吐槽它却“永世留芳”
  2. git指令快捷 idea_IDEA+Git+Gitlab使用详细教程
  3. 关于SimpleDateFormat时间转换总是显示1970年的问题
  4. 5大过程组与整体管理
  5. Windows系统下安装分布式事务组件Seata
  6. 并发执行变成串行_网易Java研发面试官眼中的Java并发——安全性、活跃性、性能...
  7. 开发工具:VSCode 摸鱼神器,确定不试一下?
  8. Linux文件和目录权限笔记
  9. 提高程序员工作效率的11个技巧
  10. 祖父元素_帮助祖父母建立Skype帐户的UX经验教训