草庐IT

Simple-PHPUnit

全部标签

php - 使用 xampp 安装 PEAR 和 PHPUnit

我正在尝试启动并运行PHPUnit,以下是我目前正在执行的步骤:###InstallnewPEARVersionneededforPHPUnit3.X###Download:http://pear.php.net/go-pear.pharSaveitunderC:\xampp\phpOpenacommandpromptandgotoC:\xampp\phpType"phpgo-pear.phar"(InstallsnewPEAR)Type"pearupdate-channels"(updateschanneldefinitions)Type"pearupgrade--alldeps"(

php - 不可测试的基类扩展 PHPUnit_Framework_TestCase

总结我如何创建一个扩展PHPUnit_Framework_TestCase的基类并将其用于子类化实际测试用例,而不用PHPUnit测试基类本身?进一步说明我有一系列相关的测试用例,为此我创建了一个基类,其中包含一些将被所有测试用例继承的通用测试:BaseClass_TestCase.php:classBaseClass_TestCaseextendsPHPUnit_Framework_TestCase {functiontest_common(){//Testthatshouldberunforallderivedtestcases}}MyTestCase1Test.php:inclu

php - 运行 phpunit 时未找到 fatal error 'File/Iterator/Autoload.php'

我尝试在phpunit中运行测试类时遇到此错误。C:\xampp\htdocs\unittest>phpunitUnitTestusertest.phpPHPWarning:require_once(File/Iterator/Autoload.php):failedtoopenstreamNosuchfileordirectoryinC:\xampp\php\pear\PHPUnit\Autoload.phponline45PHPStacktrace:PHP1.{main}()C:\xampp\php\phpunit:0PHP2.require()C:\xampp\php\phpun

php - 关于如何在 PHPUnit 中使用 setUp() 和 tearDown() 的真实示例?

方法setUp()和tearDown()在每次测试之前和之后被调用。但实际上,是否有关于我为什么需要这个的真实示例?检查其他人的测试,我总是看到类似的东西:publicfunctionsetUp(){$this->testsub=newTestSubject();}publicfunctiontearDown(){unset($this->testsub);}publicfunctiontestSomething(){$this->assertSame('foo',$this->testsub->getFoo());}当然,这种方式和“旧的”局部变量方式几乎没有区别。

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

简而言之:phpunit在运行测试时可以使用多个数据提供者吗?例如,我有一个名为getById的方法,我需要为它运行成功和不成功的测试用例。成功的测试用例意味着它可以返回相应的记录。而对于不成功的,输入可以分为两类:无效和失败。invalid表示输入不合法,failed表示输入可能有效,但没有对应的ID对应的记录。所以代码是这样的:/***@dataProviderprovideInvalidId*@dataProviderprovideFailedId*/publicfunctiontestGetByIdUnsuccess($id){$this->assertNull($this->

php - 是否有可能使用 PHPUnit 模拟对象来调用神奇的 __call() 方法?

我在测试中有一个模拟对象。真正的对象PageRepository使用__call()实现了一个神奇的方法,因此如果您调用$pageRepository->findOneByXXXX($value_of_field_XXXX),它将在数据库中搜索与该参数匹配的记录。有没有办法模拟那个方法?真正的方法调用看起来像这样:$homepage=$pageRepository->findOneBySlug('homepage');测试看起来像这样:$mockPageRepository->expects($this->any())->method('findOneBySlug')->will($t

PHPUnit 断言没有调用任何方法

我有一个使用ServiceB的ClassA。在某种情况下,ClassA最终应该不会调用ServiceB的任何方法。我现在想测试一下,确实没有调用任何方法。这可以按如下方式完成:$classA->expects($this->never())->method('first_method');$classA->expects($this->never())->method('second_method');...有没有办法简单地声明“不应该在这个对象上调用任何方法”,而不是必须为每个方法指定一个限制? 最佳答案 是的,很简单,试试这个:

php - Laravel 4 测试; 'phpunit' 不被识别?

http://four.laravel.com/docs/testing说“安装新的Laravel应用程序后,只需在命令行上运行phpunit即可运行测试。”phpunit无法识别,我也试过phpartisiantest和phpartisanphpunitphpunit是否在某个奇怪的文件夹中,或者它实际上不包含在Laravel中?我不想安装它,如果是的话有两个。 最佳答案 用Composer安装启动和运行PHPUnit的一种简单方法(不需要安装Pear和弄乱你想使用它的每个系统)是将它包含在你的composer.json文件中,比

php curl : I need a simple post request and retrival of page example

我想知道如何在curl中发送post请求并获得响应页面。 最佳答案 像这样的事情怎么样:$ch=curl_init();$curlConfig=array(CURLOPT_URL=>"http://www.example.com/yourscript.php",CURLOPT_POST=>true,CURLOPT_RETURNTRANSFER=>true,CURLOPT_POSTFIELDS=>array('field1'=>'somedate','field2'=>'someotherdata',));curl_setopt_ar

phpunit --debug 仍然只显示点

我想查看在phpunit运行期间当前正在执行哪个测试。我使用--debug参数但仍然只得到点:$phpunit--debugPHPUnit3.7.19bySebastianBergmann.Configurationreadfrom/home/foo/bar/phpunit.xml..S.......I..contentsofphpunit.xml:./tests./src这可能是什么原因? 最佳答案 您想使用--testdoxphpunit--testdox 关于phpunit--de