草庐IT

PHPUnit_Invoker

全部标签

php - 如何用phpunit替换方法

假设我想用一个预先填充数据的方法替换一个从数据库获取数据库的对象中的方法。我该怎么做?根据https://phpunit.de/manual/current/en/test-doubles.html...setMethods(array$methods)canbecalledontheMockBuilderobjecttospecifythemethodsthataretobereplacedwithaconfigurabletestdouble.Thebehavioroftheothermethodsisnotchanged.IfyoucallsetMethods(NULL),the

PHPUnit测试二进制数据上传

如何使用二进制数据填充php://input以测试上传?(或以其他方式测试分块上传)。我正在使用plupload作为我的前端,我想对我的后端进行单元测试。这是我要测试的一段代码:publicfunctionrecieve($file='file'){//Getparameters$chunk=isset($_REQUEST["chunk"])?intval($_REQUEST["chunk"]):0;$chunks=isset($_REQUEST["chunks"])?intval($_REQUEST["chunks"]):0;$fileName=isset($_REQUEST["na

PhpStorm、PHPUnit 和 setcookie

我正在尝试在一个非常好的IDEPhpStorm中使用setcookie()函数进行一些单元测试。但是我每次都会收到以下错误:Cannotmodifyheaderinformation-headersalreadysentby(outputstartedat/tmp/phpunit.php:418)此错误的原因可能是在调用setcookie()之前使用flush()打印('sometext')。但是刷新是在PhpStorm生成的/tmp/phpunit.php文件中执行的。虽然setcookie()是从我的来源调用的。所以我不能编辑生成的文件来做某种输出缓冲。还有另一个时刻:PhpSto

php - 无法设置 PHPunit 以在 Windows 上使用 Yii

PHPUnit适用于其他项目,但当我尝试运行Yii测试时,我收到以下警告(即使是空测试):Therewas1failure:1)WarningWarning:include(PHP_Invoker.php):failedtoopenstream:NosuchfileordirectoryinC:\Users\pumpkin\Documents\GitHub\arhano\codebase\arhanoii\vendor\yiisoft\yii\framework\YiiBase.phponline423Warning:include():Failedopening'PHP_Invoke

php - 如何使用 PHPUnit 测试调用同一类的其他方法但没有返回值的方法

如何为调用同一类的其他方法但不返回值的方法编写单元测试?(假设使用PHPUnit。)例如,假设我有以下类(class):classMyClass{publicfunctiondoEverything(){$this->doA();$this->doB();$this->doC();}publicfunctiondoA(){//dosomething,returnnothing}publicfunctiondoB(){//dosomething,returnnothing}publicfunctiondoC(){//dosomething,returnnothing}}你将如何测试doE

php - 是否可以在 PhpUnit 中的测试用例之外创建模拟?

这可能看起来很傻,但愿不是,但我想创建一个服务,为使用我的项目的人返回模拟对象,这样他们就可以模拟我项目中的所有类并测试他们的代码。我的想法是提供这种服务,以便它可以在其他项目的测试用例中调用,并为每个测试获取适当的模拟。这可能吗?或者还有其他方法可以做到这一点。顺便说一句,由于项目的限制,我不能使用任何模拟库。 最佳答案 是的,这是可能的。在引擎盖下,getMock方法使用PHPUnit_Framework_MockObject_Generator类。所以你可以直接使用它:PHPUnit_Framework_MockObject_

未找到 PHPUnit 类

文件夹结构/app/lib/Helper.php/tests/HelperTest.php/vendor/autoload.phpcomposer.json{"require-dev":{"phpunit/phpunit":"*"},"autoload":{"psr-4":{"Datapark\\LPS\\":"app/"}},"autoload-dev":{"psr-4":{"Datapark\\LPS\\Tests\\":"tests/"}},}Helper.phpHelperTest.php我在服务器上运行的命令[Debian8/PHP7]phpunit--bootstrapve

php - TravisCI PHPUnit fatal error - 调用未定义的方法 PHPUnit_Util_Configuration::getTestdoxGroupConfiguration()

我的TravisCI构建由于引用PHPUnit_Util_Configuration::getTestdoxGroupConfiguration()的fatalerror而失败,即使PHPUnit在本地运行没有问题。我已验证TravisCI上的Composer正在安装与我在本地安装的相同版本的PHPUnit。我注意到recentpatch具体引用testdox组配置,但我无法弄清楚为什么该更改可能会破坏TravisCI中的PHPUnit而不是我的本地版本。这是来自TravisCI的Composer:-Installingphpunit/phpunit(5.7.6)Downloading

php - 安装 phpunit 中的问题 - 尝试回退到 https 而不是 channel phpunit 上的 http

我尝试在xampp中安装phpunit时遇到此错误。C:\xampp\php>pearinstall--alldepsphpunit/PHPUnitAttemptingtodiscoverchannel"phpunit"...Attemptingfallbacktohttpsinsteadofhttponchannel"phpunit"...unknownchannel"phpunit"in"phpunit/PHPUnit"invalidpackagename/packagefile"phpunit/PHPUnit"installfailed 最佳答案

php - 在 Symfony2 项目中找不到类 'PHPUnit_Framework_TestCase'

我正在symfony2中开发一个项目,我是单元测试的新手。我已经通过PEAR安装了PHPUnit3.6.10,当我输入phpunit命令时它可以从终端运行。我按照SensioLab的建议(http://symfony.com/doc/current/book/testing.html)编写了我的第一个测试类,但是当我使用命令时php-cappsrc/My/CalendarBundle/Tests/Calendar/CalendarTest.php我得到了Fatalerror:Class'PHPUnit_Framework_TestCase'notfoundin/Library/WebS