unit-testing相关内容

您为 Symfony 使用哪个单元测试框架?

您为 Symfony 使用哪个单元测试框架? Lime 还是 PHPUnit?使用它们的优缺点是什么? 解决方案 在我看来,我想到了以下几点: PHPUnit 与其他工具的集成度更高,例如, Selenium(PHPUnit 可以用它打开真正的浏览器来测试你的网站) phpUnderControl 用于连续集成 PHPUnit 与 Xdebug 配合得很好,可以生成代 ..
发布时间:2022-01-25 14:06:47 PHP

为 PHPUnit 配置文件名

我是 PHPUnit 的新用户,我正在将我们现有的测试(断言)转换为 PHPUnit 框架,以提供更好的测试环境和代码覆盖率.但是,我需要知道如何尝试让 PHPUnit 与我们的测试代码结构一起工作. 我们的项目目录类似如下: 应用1/ CREDIT_CARD.class - CREDIT_CARD 的类命名约定 CREDIT_CARD.class.test - CREDI ..
发布时间:2022-01-25 14:05:36 PHP

使用 PHPUnit 测试 cookie 和会话,如何?

使用 PHPUnit 可以很容易地测试原始 PHP 代码,但是那些严重依赖 cookie 的代码呢?会话可能是一个很好的例子. 有没有一种方法不需要我在测试期间使用数据设置 $_COOKIE?这感觉像是一种 hacky 的做事方式. 解决方案 这是代码的常见问题,尤其是遗留的 PHP 代码.常用的技术是进一步抽象相关对象中的 COOKIE/SESSION 变量,并使用控制反转技术将这 ..
发布时间:2022-01-25 13:59:19 PHP

在 PHPUnit 中测试具有依赖关系的对象

对于组成另一个对象作为其实现的一部分的对象,编写单元测试以便只测试主要对象的最佳方法是什么?简单的例子: class myObj {公共函数 doSomethingWhichIsLogged(){//...$logger = new logger('/tmp/log.txt');$logger->info('一些消息');//...}} 我知道可以设计该对象,以便可以注入记录器对象依赖项并因此 ..
发布时间:2022-01-25 13:57:15 PHP

在 PHPUnit 中重新运行上次失败的测试

当其中一个测试失败时,您可以使用 --stop-on-failure 标志来中断单元测试. 有什么方法可以快速告诉 PHPUnit 重新运行这个失败的测试,而不是手动提供完整路径? 解决方案 看看 --filter cli 选项.您可以在 组织文档 并在 CLI 文档. --过滤 仅运行名称与给定模式匹配的测试.模式可以是单个测试的名称,也可以是匹配多个测试名称的正则表达 ..
发布时间:2022-01-25 13:56:16 PHP

phpunit可以使用多个数据提供者吗

简而言之:phpunit在运行测试时可以使用多个数据提供者吗? 例如,我有一个名为 getById 的方法,我需要为它运行成功和不成功的测试用例. 成功的测试用例意味着它可以返回相应的记录.而对于不成功的,输入可以分为两类:无效和失败. invalid表示输入不合法,failed表示输入可能有效,但没有对应的ID对应的记录. 所以代码是这样的: /*** @dataPro ..
发布时间:2022-01-25 13:55:02 PHP

Laravel 5 单元测试 - 在 null 上调用成员函数 connection()

我尝试为我的 User 和 Shop 模型之间的关系创建单元测试,但是当我运行 vendor\\bin\\phpunit 抛出此错误,我对此一无所知,因为我是单元测试的新手.我试图在我的控制器上运行我的代码以查看关系是否真的有效,幸运的是它按预期工作,但在 phpunit 中运行时却没有.我做错了什么让这个 phpunit 不能与模型一起工作? 致命错误: 未捕获错误:在 E:\projec ..
发布时间:2022-01-25 13:52:40 PHP

PHPUnit“模拟的方法不存在."当使用 $mock->expects($this->at(...))

我遇到了一个关于 PHPUnit 模拟对象的奇怪问题.我有一个应该被调用两次的方法,所以我使用了“at"匹配器.这在第一次调用该方法时有效,但由于某种原因,第二次调用它时,我得到“模拟方法不存在.".我以前使用过“at"匹配器,但从未遇到过. 我的代码如下所示: class MyTest 扩展 PHPUnit_Framework_TestCase{...公共函数 testThis(){$m ..
发布时间:2022-01-25 13:52:07 PHP

任何关于如何在 PHPUnit 中使用 setUp() 和 tearDown() 的真实例子?

方法 setUp() 和 tearDown() 在每次测试之前和之后调用.但说真的,有什么真实的例子说明我为什么需要这个? 检查其他人的测试,我总是看到类似的东西: 公共函数 setUp(){$this->testsub = new TestSubject();}公共函数拆解(){未设置($this->testsub);}公共函数 testSomething(){$this->assert ..
发布时间:2022-01-25 13:50:16 PHP

PHPUnit - 使用配置文件时“未执行测试"

问题 为了提高我的代码质量,我决定尝试学习如何使用单元测试而不是我平庸的最佳测试解决方案来测试我的代码. 我决定使用 composer 安装 PHPUnit 作为个人库,让我可以实现常用的数据库功能.起初我没有 PHPUnit 的配置文件,当我运行如下命令时: $ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsT ..
发布时间:2022-01-25 13:47:41 PHP

如何阅读/改进 PHP 计算的 C.R.A.P 指数

我刚开始使用 PHPUnit 及其丰富多彩的代码覆盖率报告.我理解所有的数字和百分比,除了一个:C.R.A.P 指数.谁能给我一个可靠的解释,解释它的含义,如何分析它以及如何降低它? 解决方案 @Toader Mihai 提供了可靠的解释. (+1 来自我) 如何降低: 编写不太复杂的代码或编写更好的测试代码.(见下图) 更好的测试代码? 在这种情况下,这只是意味着 ..
发布时间:2022-01-25 13:46:24 PHP