草庐IT

PHPUnit_Extensions_Database_TestC

全部标签

php - 如何使 PHPUnit 在有风险的测试中失败

如果一个或多个测试被认为有风险,我希望PHPUnit失败。实际上:PHPUnit5.3.4bySebastianBergmannandcontributors...RRR..7/7(100%)Time:2.83seconds,Memory:26.00MbOK,butincomplete,skipped,orriskytests!Tests:7,Assertions:137,Risky:3.它说“OK,但不完整”,所以我的测试没有失败(并且可以在连续交付的情况下交付)。有什么方法可以使状态为“失败”?我希望我的测试全局状态在风险测试中被视为失败,不知道这是否可能。

php - 依赖于 phpunit 似乎没有工作

也许只是我的问题,但@depends似乎没有像我期望的那样工作。我的代码:当我执行phpunitMyTest.php时,我希望看到TESTFUNC1called但我看到的是TESTFUNC2called。因为它似乎只是按照它们在脚本中出现的顺序运行测试,而不管@depends属性,这确实引出了一个问题:@depends是做什么的真的吗?我正在运行PHPUnit5.7.20。 最佳答案 您需要使用/**而不是/*来启动文档block。 关于php-依赖于phpunit似乎没有工作,我们在S

PHPUnit - 调用未定义的函数 curl_init() 错误

我正在使用PHPUnit尝试对一些PHP文件进行单元测试,这些文件是我正在开发的Web应用程序的一部分。我已经设置了一个WAMP服务器,并将我的php.ini文件设置为安装了curl扩展。我已通过检查phpinfo()验证它已安装,并且curl在页面上确实有一个配置部分,表明它已安装。当我从索引页面开始运行我的整个Web应用程序时,我尝试测试的这个php页面毫无问题地找到了curl_init()函数。但是,当我对文件运行单元测试时,它会给我以下错误:PHPFatalerror:Calltoundefinedfunctioncurl_init()in...正如我所说,调用curl_ini

php - 日期时间转换 : "The timezone could not be found in the database"

我正在尝试转换从API接收到的DateTime。这是他们生成日期时间字符串的方式:publicstaticfunctionformatDate($date){$format="Y-m-d\TH:i:sP";if($dateinstanceofDateTime){$d=$date->format($format);}elseif(is_numeric($date)){$d=date($format,$date);}else{$d=(String)"$date";}return$d;}这给了我"2013-06-14T04:00:36.000-03:00"这就是我将其转换回来的方法:try{

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

PHP 优化 : Fetching from database

我有一些PHP代码,一旦按下下一个箭头,它基本上只会获取数据库中的下一张图像。然而,在我的网站上,我有时可以有600多个在线用户都点击下一步。有什么方法可以优化此php代码以更快地执行?谢谢!$nxtImage=mysql_query("SELECT*FROMimagesWHEREactive=1andid>$idandsection=$sectionORDERBYidASCLIMIT1")ordie(mysql_error());$nxtrow=mysql_fetch_array($nxtImage);$nxtnum=mysql_num_rows($nxtImage);$nid=$n

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