`
xieye
  • 浏览: 821990 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php单元测试进阶(4)- 入门 - 使用参数化测试

    博客分类:
  • PHP
阅读更多
php单元测试进阶(4)- 入门 - 使用参数化测试

本系列文章主要代码与文字来源于《单元测试的艺术》,原作者:Roy Osherove。译者:金迎。

本系列文章根据php的语法与使用习惯做了改编。所有代码在本机测试通过。如转载请注明出处。

观察测试代码,发现其实可以合并,代码会精简很多,只需由另一个方法提供参数。
<?php
namespace tests\index\controller;

class LogAnalyzerTest extends \think\testing\TestCase
{

    /**
     * @test
     * @dataProvider isValidFileName_Provider
     * 注意,尽量使得测试的方法名称有意义,这非常重要,便于维护测试代码。有规律
     */
    public function isValidFileName_VariousExtensions_ChecksThem($filename, $boo)
    {
        $analyzer = new \app\index\controller\LogAnalyzer();
        $result = $analyzer->isValidLogFileName($filename);
        $this->assertEquals($result, $boo);
    }

    public function isValidFileName_Provider()
    {
        return array(
            array("file_with_bad_extension.foo", false),
            array("file_with_good_extension.slf", true),
            array("file_with_good_extension.SLF", true),
        );
    }

}

cmd下,执行测试,通过。

上一篇:php单元测试进阶(3)- 入门 - 添加检验
下一篇:php单元测试进阶(5)- 入门 - 异常测试

分享到:
评论

相关推荐

    shell入门到进阶,脚本机动化

    根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍与shell脚本相关的知识点,内容涵盖从入门到进阶的多个方面。 ### Shell 脚本自动化批量系统初始化 在自动化批量系统初始化方面,shell脚本能够实现一...

    PHP和MySQL.Web开发(原书第4版) - 198M超高清

    - **SQL注入攻击**:如何避免SQL注入攻击,使用预处理语句或参数化查询。 - **密码加密**:对用户密码进行加密存储。 ##### 4. 实例开发 - **用户注册登录系统**:实现用户注册、登录功能,并进行相应的数据验证。 ...

    laravel5入门

    控制器方法通常接收请求参数,并调用模型或服务处理业务逻辑,最后返回视图或者响应数据。 5. **模型与数据库** Laravel提供了Eloquent ORM,简化了数据库操作。通过`php artisan make:model Post`创建一个模型,...

    (全)传智播客PHP就业班视频完整课程

    9-10 6.php进阶预热篇-php执行流程时序图 9-10 7.http协议深度剖析①-http请求详解 防盗链技术 9-13 0.回顾 9-13 1.http协议深度剖析②-http响应详解(302 304码运用) 9-13 2.http协议深度剖析③-http响应详解(禁用...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-10 6.php进阶预热篇-php执行流程时序图 9-10 7.http协议深度剖析①-http请求详解 防盗链技术 9-13 0.回顾 9-13 1.http协议深度剖析②-http响应详解(302 304码运用) 9-13 2.http协议深度剖析③-http响应详解(禁用...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-10 6.php进阶预热篇-php执行流程时序图 9-10 7.http协议深度剖析①-http请求详解 防盗链技术 9-13 0.回顾 9-13 1.http协议深度剖析②-http响应详解(302 304码运用) 9-13 2.http协议深度剖析③-http响应详解(禁用...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-10 6.php进阶预热篇-php执行流程时序图 9-10 7.http协议深度剖析①-http请求详解 防盗链技术 9-13 0.回顾 9-13 1.http协议深度剖析②-http响应详解(302 304码运用) 9-13 2.http协议深度剖析③-http响应详解(禁用...

    韩顺平PHP从入门到精通笔记.zip

    【PHP进阶篇】 1. OOP(面向对象编程):理解类与对象的概念,学习类的定义、对象的创建、继承、封装、多态等OOP特性。 2. 异常处理:深入学习PHP的异常处理机制,如何抛出和捕获异常,以及自定义异常类。 3. PDO...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    9-10 6.php进阶预热篇-php执行流程时序图 9-10 7.http协议深度剖析①-http请求详解 防盗链技术 9-13 0.回顾 9-13 1.http协议深度剖析②-http响应详解(302 304码运用) 9-13 2.http协议深度剖析③-http响应详解(禁用...

    php入门教程

    - 使用预处理语句或参数化查询。 - **防止XSS攻击** - 对输出进行适当的转义处理。 通过以上知识点的学习,初学者可以快速掌握PHP的基本概念和技术要点,为进一步深入学习和实际项目开发打下坚实的基础。

    Linux系统的安装及常用命令的使用 培训 导师 入门 进阶

    在安全测试方面,理解OWASP TOP 10安全漏洞是关键,包括SQL注入、跨站脚本攻击、不安全的直接对象引用等,这需要配合使用如Selenium进行Web应用自动化测试,LoadRunner进行性能测试,以及进行渗透测试以确保系统的...

    Zend+Framework+入门指南v0.12.pdf

    - **单元测试**: 使用PHPUnit进行单元测试。 - **集成测试**: 对整个系统进行集成测试,确保各个组件协同工作。 ##### 3. 安全性 - **防止SQL注入**: 使用预处理语句或参数化查询。 - **CSRF防护**: 通过令牌验证等...

    php和mysql web开发(原书第4版)英文版

    - **SQL注入防护**:使用预处理语句或参数化查询避免SQL注入攻击。 - **会话管理**:安全的会话启动、维护和销毁策略。 - **密码加密**:使用哈希算法对用户密码进行加密存储。 ##### 4. 性能优化 - **缓存技术**:...

    PHP入门详细CHM教程

    ### 八、PHP进阶话题 1. **模板引擎**:如Smarty,用于分离前端展示和后端逻辑,提高代码可维护性。 2. **MVC框架**:如Laravel、Symfony,提供结构化的开发模式,提升开发效率。 3. **PHP缓存技术**:如APC、...

    PHP+MySQL网站开发入门与提高PPT.rar

    你需要学习如何防止SQL注入,使用预处理语句或参数化查询,以及如何对用户输入进行适当的过滤和验证。 7. **MVC模式**:模型-视图-控制器(MVC)是一种常见的Web应用架构模式,可以帮助你更好地组织代码。理解MVC的...

    华为工程师总结liunx进阶运维.docx

    华为工程师的总结从Linux的入门到精通分为基础篇、进阶篇和高级篇,旨在帮助读者全面掌握Linux运维技能。 1. **Linux基础篇**: - **Linux快速入门**:涵盖Linux的基本概念、工作原理以及初识命令行界面。 - **...

    阿里云服务器ECS-快速入门Linux.pdf

    阿里云提供了多种配置方案以满足不同用户需求,如入门型、进阶型、通用型和理想型。这些配置主要基于CPU核数、内存大小和带宽,适用于不同规模的网站、开发环境或计算密集型任务。用户可以根据实际需求选择,若后期...

    PHP Extension Writing之中文版.docx

    本文档旨在引导有兴趣为 PHP 开发扩展的开发者入门。假设读者已经熟悉 PHP 语言和 C 语言的基础知识。 ##### 扩展的概念 - **定义**:扩展是 PHP 的一部分,它们包含了一系列的函数,用于提供额外的功能或性能优化...

    php MySQL 网络数据库指南(7)

    - 防止SQL注入:始终使用预处理语句或参数化查询。 7. 实战案例: - 用户注册与登录系统:创建用户表,实现用户注册、登录、密码找回等功能。 - 数据展示:通过PHP动态生成网页,显示数据库中的数据。 - 表单...

Global site tag (gtag.js) - Google Analytics