草庐IT

Netbeans-PHPUnit

全部标签

PHPUnit:如何模拟对同一方法的多次调用

我希望在多次调用同一个方法时获得不同的返回值。我尝试了很多东西,但没有得到确切的答案。$mock=$this->getMockBuilder('Test')->disableOriginalConstructor()->setMethods(array('testMethod'))->getMock();$mock->expects($this->once())->method('testMethod')->will($this->returnValue(true));$mock->expects($this->second())->method('testMethod')->will

php - 在 PHPUnit 中自定义设置

我希望在setUp函数中使用具有不同参数的一个对象运行一系列测试。我该怎么做?我尝试使用@dataProvider,但这不适用于我很快发现的setUp..这是我想做的(使用@dataProvider):/**@dataProviderprovider*/functionsetUp($namespace,$args){$this->tag=newTag($namespace,$args);}functionprovider(){returnarray(array('hello',array()),array('world',array()));}functiontestOne(){}fu

php - 我应该如何开始使用 PHPUnit 作为我已经制作的一堆函数和类的测试框架?

我已经阅读了文档。基本上,我在遵循BankAccount示例的同时尝试了测试。但是我得到错误:Warning:require_once(PHP/CodeCoverage/Filter.php)[function.require-once]:failedtoopenstream:Nosuchfileordirectoryin[...]/unitTest/phpunit.phponline38此外,PHP脚本似乎以#!/usr/bin/envphp开头,这表明它们应该从控制台运行。我宁愿从浏览器运行这些...假设我有一个返回字符串的函数f1()。应该如何进行测试?我错过了什么吗?

php - NetBeans + 多个 php 版本 + 没有 PEAR 的 phpUnit

我的问题有点复杂。我在IIS上有多个php版本。每个php项目都有自己的php版本和域名,例如:www.webshop.loc...我正在通过NetBeans开发项目,我想使用TDD作为开发过程。我的问题是:如何在不安装PEAR或打开任何DOS风格的窗口的情况下安装phpUnit,以及如何设置phpUnit以在不同的项目上使用不同的php版本?(嗯99%那是不可能的。:S) 最佳答案 我可以回答安装部分:安装不带PEAR的PHPUnit并在NetBeans中使用它实际上非常容易,因为PHPUnit已作为phar存档提供。。下载pha

namespaces - 为什么不在 phpunit 测试中加载命名空间自动加载类?

为了补充现有的phpunit、autoload和命名空间之间的大杂烩是这样的:我创建了一个简单的测试项目,它运行PhpUnit测试并使用命名空间自动加载。我像这样在Bootstrap文件中注册自动加载:set_include_path(get_include_path().PATH_SEPARATOR."/path/to/classes/folder");spl_autoload_register();在单元测试中,我像这样加载和测试我的类:$obj=new\some\space\someClass();//whichisintheclasses/some/spacefolder$th

在 PhpStorm 上安装 PHPUnit

我正在尝试通过从自动加载程序文件加载PHPUnit来将其与PhpSTORM一起使用。但是,正如您在下面的屏幕截图中看到的那样,未安装PHPUnit版本:即使我选择其他两个选项,我也会得到相同的结果。即phpunit.phar的路径和从包含路径(PEAR)加载。这是我运行测试用例时得到的结果:正在检测PhpUnit类和代码自动完成,但PhpStorm编辑器正常。 最佳答案 如果发生这种情况并且您看到未安装PHPUnit版本的红色I,那么当您按下刷新按钮时,您可能会收到消息“请选择PHP解释器以加载PHPUnit版本”。如果您设置了ph

PHPUnit:失败时跳过所有测试

我的测试用例中的所有测试都取决于第一个测试的通过。现在我知道我可以将@depends注释添加到其余测试中,但我正在寻找将注释添加到所有其他测试方法的快捷方式。有没有办法告诉PHPUnit,“如果此测试失败,则跳过其余测试”? 最佳答案 您可以将该特定测试添加到您的setup()方法中。这将使所有未通过此测试的测试都被跳过,例如publicfunctionsetup(){$this->subjectUnderTest=newSubjectUnderTest;$this->assertPreconditionOrMarkTestSkip

php - 从控制台 symfony 设置 phpunit 命令

我已经在phpunitfirsttestsymfony上发布了这个问题我按照项目安装通过Composer安装了phpunit。尝试时vendor/bin>phpunit-c../../app一切都很好,我得到了肯定的答复。而此命令给出了测试目录中所有测试的答案。但我希望每个测试的结果都单独存在。尝试时/vendor/bin>phpunit-c../../src/xxx/Bundle/tests/entity/yyy.php我收到以下消息:couldnotloadc:\wamp\www\symfony\src/xxx/Bundle/tests/entity/yyy.phpParsePI:

php - fatal error : Class 'PHPUnit_Framework_TestCase' not found

我正在使用XAMPP1.8.1、Windows764位、NetbeansIDE7.4我已经安装了PHPUnit。当我运行代码时,出现以下错误。Fatalerror:Class'PHPUnit_Framework_TestCase'notfoundinD:\xampp\htdocs\PHPUnit\index.phponline6代码是:assertEquals(0,count($stack));array_push($stack,'foo');$this->assertEquals('foo',$stack[count($stack)-1]);$this->assertEquals(1

php - 无法在 XAMPP 中安装 PHPUnit pear 包

这是我的问题。我已经在XAMPP社区论坛中问过这个问题但没有回复。也许你们中的一些人可以提供帮助。我正在使用以下配置运行XAMPPWin7,32位xampp-win32-1.7.4-VC6我想通过pear更新PHPUnit,以便我可以将其用于Selenium测试首先,添加channelpearchannel-discoverpear.phpunit.de然后我安装包pear安装phpunit/PHPUnit在这里,我总是收到相同的错误消息...Warning:file_exists():Unabletofindthewrapper"channel"-didyouforgettoenab