php的单元测试

codeception 和 phpunit

codecept run unit tests/unit/moTest.php --debug 在项目的根目录运行

第1步 - 安装 Codeception 框架。运行下面的代码。
使用 composer 命令
composer global require "codeception/codeception"
composer global require "codeception/specify"
composer global require "codeception/verify"
步骤2 - 运行如下
ccomposer global status
输出“Changed current directory to <directory>”如下图所示:
Changed current directory to C:/Users/luky/AppData/Roaming/Composer
No local changes

添加到环境变量:应该加上'C:/Users/luky/AppData/Roaming/Composer/vendor/bin ' 到 PATH 环境变量。在本示例中,运行下面的代码 -
export PATH = $PATH:~/.composer/vendor/bin
注:windows系统可右键"我的电脑"=>"高级系统设置"=>"环境变量"来添加。

linux下codecept安装

**codecept: command not found
on Ubuntu then you should follow these steps:**
sudo composer global require "codeception/codeception=2.1.*" "codeception/specify=*" "codeception/verify=*"

and then run this command:
sudo ln -s ~/.composer/vendor/bin/codecept /usr/local/bin/codecept

其他~
Socodecept build
andcodecept run
will work.
**If you are using Windows then run this command:** 
composer global require "codeception/codeception=2.1.*" "codeception/specify=*" "codeception/verify=*"

Add this line into your path:
~\AppData\Roaming\Composer\vendor\bin
问题:如何将远程服务器的数据库导入到本地
步骤一:从远程服务器下载数据库
注:D:\Program Files\MySQL\MySQL Server 5.0\bin>为你安装的MYSQL安装目录,\bin为mysqldump管理工具所有在的目录;
mysqldump -h[hosname] -u[user_name] -p[password] --default-character-set=[char_set_name] [db_name] > [save_path]
eg:mysqldump -h119.12.12.11 -umysqluser -pmysqlpwd --default-character-set=utf8 dbname --skip-lock-tables> d:\sqlname.sql
步骤二:通过phpmyadmin或者其他数据库管理工具导入即可
或者命令行导入
http://jingyan.baidu.com/article/cbf0e500d15c762eab289362.html

==

指令:
codecept bootstrap
codecept build
codecept run

步骤3 - 开始测试:

1 用户测试模块
①:测试寻找用户id
过程:
a.已输入的id
b.判断id对应的用户名和用户名相同,并返回正确。
c.不相同,返回错误。
函数:
    public function testFindUserById()
    {
      //$user = User::findIdentity(1);
      //print_r($user);

        expect_that($user = User::findIdentity(1));
        expect($user->username)->equals('aa@cc.cc');

        expect_not(User::findIdentity(0));
    }

②:测试寻找用户token
过程:
a.已输入的token
b.判断token对应的用户名和用户名相同,并返回正确。
c.不相同,或不存在token,返回错误
函数:
public function testFindUserByAccessToken()
    {
        expect_that($user = User::findIdentityByAccessToken('asdflawejflwefadsfasdf'));
        expect($user->username)->equals('aa@cc.cc');

        expect_not(User::findIdentityByAccessToken('non-existing'));
    }

③:测试寻找用户用户名
过程:
a.判断用户对应的用户名和用户名相同,并返回正确。
b.不存在,返回错误
函数:  
public function testFindUserByUsername()
    {
        expect_that($user = User::findByUsername('aa@cc.cc'));
        expect_not(User::findByUsername('not-admin'));
    }


④:测试用户的key是否激活
过程:
a.输入用户名和用户的key,判断对应则激活。
b.判断key和username不对应,则激活失败。


c.判断用户的username和密码是否一样,一样返回正确
d.不一致,返回错误
函数:
    /**
     * @depends testFindUserByUsername
     */
    public function testActivationKey($user)
    {
        $user = User::findByUsername('dd');
        expect_that($user->findByActivationKey('awelvowaslfdf'));
        expect_not($user->findByActivationKey('test102key'));

        expect_that($user->validatePassword('abc123'));
        expect_not($user->validatePassword('123456'));
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 是什么 如果你知道yum、apt-get、npm、bower等命令中的一种或者多种,那么,你也能很快知道compo...
    旱魃一样阅读 8,448评论 0 9
  • 说明本次redis集群安装在rhel6.8 64位机器上,redis版本为3.2.8,redis的gem文件版本为...
    读或写阅读 15,484评论 3 9
  • Composer是一个非常流行的PHP包依赖管理工具,已经取代PEAR包管理器,对于PHP开发者来说掌握Compo...
    dreamer_lk阅读 7,034评论 0 15
  • 儿子千里母担忧,母行千里儿不愁! 小的时候,常听母亲念叨,因为她的儿子也去参军,在千里之外边防放哨。 最近才真正参...
    时尚女人兰阅读 2,256评论 3 0
  • 前两天周末下乡回了趟老家,路两旁的油菜花竟然零零星星地开放了。星星点点的嫩黄,大片大片的油绿,很是生动的样子。昨天...
    十三弦阅读 3,345评论 0 0

友情链接更多精彩内容