草庐IT

ecomdev-phpunit

全部标签

PhpUnit 未显示 php fatal error 的堆栈跟踪

PhpUnit当前不显示代码中出现的PHP错误的堆栈跟踪。我如何配置它才能这样做? 最佳答案 PHPUnit使用错误处理函数来捕获和显示错误,但来自errorhandlers上的PHP手册,Thefollowingerrortypescannotbehandledwithauserdefinedfunction:E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,andmostofE_STRICTraisedinthefilewh

PHPUnit 测试实例

我创建了一个mail包装类。我知道有很多库可以发送电子邮件,但我想学习TDD……所以,我创建了一些测试并且我有一些代码。现在我可以在构造函数上设置电子邮件地址并对其进行验证......如果电子邮件地址错误,则会引发异常。电子邮件地址是唯一一个必填字段...我没有设置和获取,因为用户将在构造函数上设置所有电子邮件数据。现在,我要编写发送测试。我不知道如何开始。如果我不想拥有setter和getter,我如何测试这些值是否存在(主题、邮件正文、标题)?如何测试是否可以发送电子邮件?现实世界的TDD示例对我来说很难。我已经尝试了解它,我已经阅读了很多东西,但我无法测试真正的代码。谢谢。

php - 如何使用 PEAR 安装程序完全删除 PHPUnit?

几天前我使用PEAR安装程序安装了PHPUnit(我还安装了SeleniumRC用于PHP测试)。现在我想卸载它(同时删除所有相关的文件夹和文件)我运行了以下命令:pearuninstallphpunit/PHPUnit并显示控制台:phpunit/PHPUnitnotinstalled我检查了PHPUnit文件夹,它还在吗?是否已卸载?我尝试重新安装一个新的PHPUnit,但控制台显示:Noreleasesavailableforpackage"pear.phpunit.de/PHPUnit"如何重新安装?这是pearlist-cpear.phpunit.de的输出:这是pearli

PHPUnit - 使用 $this 或 self 作为静态方法?

我不想写很长的文字,因为这是一个简短的问题。PHPUnit测试包含几个静态方法。例如所有那些\PHPUnit\Framework\Assert::assert*()methods以及identicalTo、equalTo。我的IDE(带有IntelliSense/自动完成功能)不接受使用$this的调用,但是使用self。我了解到应该通过类而不是对象调用静态函数,所以self。哪个更正确?$this->assertTrue('test');或self::assertTrue('test');?(如果“$this”更正确,您能否指出为什么我们不应该使用“self”?)

php - 如何在不修改其内容的情况下忽略 phpunit 中的测试方法?

为了忽略使用PHPUnit的测试,应该放在PHP测试方法旁边的属性是什么?我知道NUnit的属性是:[Test][Ignore]publicvoidIgnoredTest() 最佳答案 您可以使用groupannotation标记测试并从运行中排除这些测试。/***@groupignore*/publicvoidignoredTest(){...}然后你可以像这样运行所有测试但忽略的测试:phpunit--exclude-groupignore 关于php-如何在不修改其内容的情况下忽略

php - 如何在 Laravel 5 中为 phpunit 指定不同的 .env 文件?

我有一个包含我的数据库连接详细信息的.env文件,这对于Laravel5来说是正常的。我想覆盖这些以进行测试,我可以在phpunit.xml。然而,这样做似乎违背了.env的理念,即不提交环境配置,尤其是密码。是否有可能有类似.env.testing的东西并告诉phpunit.xml从中读取? 最佳答案 您可以覆盖在您的TestCase文件中使用的.env文件,在该文件中启动框架进行测试。更具体:测试/TestCase.php/***Createstheapplication.**@return\Illuminate\Foundat

php - 让 PHPUnit 工作 - 包含路径设置不正确?

我试图让PHPUnit在我的开发环境中工作,但在我的脚本中包含PHPUnit时遇到了一些障碍。我知道我需要在PHP上设置包含路径,但我尝试过的每个组合都失败了,编译器没有看到PHPUnit_Framework_TestCase类。我刚刚在PHP和PEAR上运行了更新,并且计算机上安装了PHPUnit,因为我可以通过命令行访问它。PHPUnit安装在/usr/share/php/PHPunitPear在/usr/share/php/PEAR有什么我想念的吗?这是我第一次尝试使用PHPUnit甚至PEAR中的东西来解决这个问题。我在Ubuntu10.10上。任何帮助将不胜感激。编辑-我的P

PHPUnit equalTo 日期与 delta

我在PHPUnit中遇到问题,我想在比较日期时在equalTo方法中使用delta参数。假设我想将相差不超过10秒的日期视为相等的日期。$some_delta的适当值是多少?10?10000?还是完全不同的东西?$this->_restClient->expects($this->at(0))->method('getData')->with($this->equalTo(array('1')),$this->equalTo(array('2')),$this->equalTo($this->_date,$some_delta),$this->equalTo(null),)->will

当我的测试类使用自己的构造方法时,PHPUnit 6.1.x 抛出 array_merge() 错误

我收到此错误:1)XTest::testXarray_merge():Argument#1isnotanarrayERRORS!Tests:1,Assertions:0,Errors:1.在这个测试用例上:usePHPUnit\Framework\TestCase;classXTestextendsTestCase{function__construct(){}functiontestX(){$this->assertTrue(true);}}如果我删除__construct方法,我的测试就会通过。PHPUnit对我的类构造方法的处理是怎么回事?它在PHPUnit4.8版中运行良好,但

php - 从 PHPUnit 的几次执行中聚合代码覆盖率

我使用PHPUnit已经有一段时间了,看起来我可能需要将我的测试分成多个组,这些组将作为phpunit的单独执行运行。这样做的主要原因是我的大部分测试需要在单独的进程中运行,而有些测试实际上不能在单独的进程中运行,因为记录了一个问题here.我想做的是编写一个bash脚本来触发phpunit的多次执行,每次执行都配置为使用不同的设置运行不同的测试。所以我的问题是:有没有办法聚合多个phpunit执行的代码覆盖率结果?我可以直接通过PHPUnit本身或使用其他工具来做到这一点吗?是否可以使用PHPUnit的测试套件概念从一次phpunit中获得我正在寻找的东西?