PHPUnit:如何定义存根预期失败的错误消息?

我有一个测试方法,它只在模拟方法被调用两次时进行验证。 当它失败时,我想向用户提供一条错误消息 我怎样才能做到 代码示例: public function testUpdate() { $emMock = $this->mockEntityManager( array('persist', 'flush'), array('name') ); $srv = new Service($emMock); $entity = $s

PHPUnit抛出;警告:日期():它不安全;

当运行phpunit--coverage html时,我会得到关于时区的著名警告 PHP警告:date():依赖系统的时区是不安全的 设置。您需要使用date.timezone设置或 date\u default\u timezone\u set()函数。万一你用了这些 方法,您很可能仍会收到此警告 拼错了时区标识符。我们选择的时区为“UTC” 现在,请设置date.timezone以选择您的时区 一切都按预期进行,但却变得很烦人 当然,我可以通过更改我的php.ini来解决这个问题,但是如果可

监查者-跳过一些phpunits

我想跳过Scrumnizer中的一些phpunit测试 我怎样才能达到同样的目标 我需要在哪里对相同的配置进行更改?许多CI系统(包括Scrutnizer CI)在其构建环境中设置环境变量 例如,环境变量scruinizer设置为TRUE。这只是其中之一,了解更多 在测试方法内部(或整个类的setUp()方法内部),您可以检查环境变量(例如通过$\u ENV)并将测试标记为跳过 if (isset($_ENV['SCRUTINIZER'])) { $this->markTestSk

Phpunit 使用xdebug以外的其他代码覆盖率驱动程序

我想使用而不是生成代码覆盖率 我正在使用Docker,我已经安装了xdebug 如果我运行以下命令,是否可以确保xdebug不会影响测试执行 php-d xdebug.default_enable=0-d pcov.enabled=1 path/to/phpunit——覆盖率文本 我读过,但据我所知,xdebug必须被禁用 是否最好执行以下操作以实现最快的覆盖率,而不是运行上述命令 删除/截断xdebug配置 运行测试 php -d pcov.enabled=1 path/to/phpunit

Phpunit 设置phpstorm工作

我正在尝试正确配置phpstorm,但收到以下错误: /Applications/MAMP/bin/php/php5.3.6/bin/php/private/var/folders/k9/kwf7lc153rngm1ky4_3948sc0000gn/T/ide-phpunit.php --no-configuration /Applications/MAMP/htdocs/FirstAid_jquerymobile Testing started at 21:17 ... Process fi

在cgi环境中使用phpunit

我是新来的。我正在现有系统上开发,添加新功能。我想用PHPUnit来测试我编写的代码。但是,系统仅在服务器(CGI)环境(通过浏览器访问)上运行,从命令行运行时一切都会中断 是否可以将PHPUnit设置为可以从web浏览器调用的测试套件?就我个人而言,我正在使用windows任务管理器(cron可以在linux上做同样的事情)生成单元测试,并每晚将其发送到文本文件 您可以直接在服务器上解析结果文件,然后通过电子邮件发送html输出,而不是像我一样直接在web浏览器中显示。所以你可以像我一样每天早

Phpunit 如何对现有的非测试Drupal数据库运行测试

我需要在Drupal8中的现有数据库中再次运行测试 我已经尝试用phpunit.xml中正确的mysql数据库信息替换默认的sqllite连接信息 这是我的phpunit.xml文件: /测试/ src 当我记录数据库信息时,我看到添加了一个测试前缀,该前缀将在现有数据库中创建表。如何使测试直接在我自己的数据库和表上运行?如果要在现有数据库上运行测试,需要使用。下面介绍一下这个测试框架 但是,正如@DirkScholten所说,您应该避免在现有数据库上运行测试。一个例外是运行用户验收测试,他

PHPUnit和呼叫时间通过引用传递

我正在编写一个单元测试,遇到了一个恼人的问题。。。假设我正在测试以下功能: public function functionToTest(array &$data, parameter2) { // perform some action on the array that is being passed in by reference } 现在,当我在单元测试中尝试调用此函数时,我会执行如下操作: public function testMyFunction() {

phpunit调试只进入phpunit.phar文件

我正试图通过PHPStorm使用XDebug调试单元测试 测试在服务器上正确运行。 当我在PHPStorm中打开调试并在服务器上启用远程调试时,PHPStorm将打开phpunit文件,并告诉我这是它所在的行。 如果我单击continue,它将永远不会到达单元测试中的断点;我百分之百肯定它被击中了 我已将以下内容添加到我的:/etc/php5/cli/php.ini中 xdebug.remote_enable=1 xdebug.remote_port=9020 xdebug.idekey=PHP

如何将PHPUnit自动完成添加到升华文本2?

我想添加自动完成下拉列表,如PHPUnit_Framework_TestCase、PHPUnit_Framework_Assert等,而我正在输入Sublime Text 2 如何实现这一点?有一个名为phpunit sublime completions的插件,可以安装该插件以获得phpunit断言的自动完成 有一个名为phpunit sublime completions的插件,可以安装该插件来自动完成phpunit断言 没有列出他对测试用例类的要求,但这将是一件非常容易扩展的事情,或者创建

PHPUnit Selenium的单击按钮和链接命令是什么?

我正在用selenium编写测试,并导出到phpunit。 但是单击命令对我不起作用。我是这样写的$this->clickcss=input.login;。但它显示了类似这样的错误:命令执行失败。我已经测试了我的元素是否正确。我可以从中找到它。答案如下 这也可能与Firefox最新版本FF 22中的Selenium bug有关,我认为,see将在Selenium 2.34中修复 请参阅中的详细信息

Phpunit 如果特定测试失败,如何停止运行测试?

我知道PHPUnit中有一个选项可以在失败时停止,但我不希望它在任何测试失败时停止,就在这个特定测试失败时停止 例如,在我的设置中我连接到一个DB,在第一次测试中,我检查它是否连接到正确的DB。如果失败,我将无法运行其余的测试。使用PHP的@dependens功能 如果一个测试依赖于另一个测试,那么只有当另一个测试成功时,才会执行该测试。否则它将被跳过。这使您能够更好地查明问题 用法:在测试函数顶部添加一个PHPDOC块,该块只应在另一个测试成功时执行,并添加一行@dependens testC

Phpunit 可以从mock方法返回mock吗?

我有工厂 class DocumentManagerFactory { .... public function createDocumentManager(): DocumentManager { return DocumentManager::create($this->client, $this->configuration); } } 我想模拟DocumentManager,它通过createDocumentManage

Phpunit 在Laravel 8中测试时,会话错误返回null

为什么session('errors')为我的测试返回空值 规则: 测试: 'number' => ['required', 'integer', 'min:1', 'max:66', new BookNumberExists($translation, $book)] $this->actingAs($user) ->patch(route('books.update', ['translation' => $translation, 'book' => $

如何从另一个目录运行PHPUnit测试

我在Windows PC上的c:\kim\test\HelloTest.php中有一个非常简单的PHPUnit测试。我可以在c:\kim\test目录中通过以下命令执行它: phpunit HelloTest 问题是我不能从任何其他目录执行它 据我所知,我应该能够从c:\kim目录执行此操作,并使用: phpunit test 此外,我还认为以下语法也适用: phpunit c:\kim\test 但我没有从指挥部得到任何回应。只需一个空行,然后我就返回到光标 我正在尝试让单元测试与Net

使用DBGP代理用xdebug调试PHPUnit测试

我们使用DBGP代理使xdebug与多个主机一起工作 为了调试页面,我创建了一个运行/调试配置(PHP Web应用程序),并将XDEBUG\u SESSION\u START=mykey添加到开始URL中,如下所示: 然后我按下Run按钮(如果我按下Debug按钮,PHPStorm将添加另一个带有随机值的XDEBUG_SESSION_START),它就会工作 现在,我想调试一些PHPUnit测试,所以我创建了一个“服务器上的PHPUnit”配置。 测试已正确启动,但我无法调试它。当我启动调试时

phpunit试验结果的图形表示

我正在使用phpunit进行功能测试。我使用logjunit选项以junitxml格式生成结果。然后,我使用phing读取此XML并生成HTML报告。这份报告很好,很整洁。不过,我有两个问题:-- 我是否可以在同一个JUnit HTML报告文件(由Phing生成)中以图形格式显示结果?是饼图还是其他的图表?(从通过测试到失败测试) 运行PHPUnit测试时使用-log JUnit选项生成的JUnit摘要以秒为单位显示测试时间。当数字很大时,它不容易阅读。我可以通过在命令行中设置一些选项将其转换为

Phpunit Laravel控制器测试中的模拟假阳性

我正在尝试学习如何使用拉威尔5的嘲弄。我的工作主要基于Way的书Laravel Testing Decoded和其他教程,其中说[与PHPUnit]的集成只需要拆卸方法。所以我把它包括在内了。问题是,它似乎没有在测试之间重置东西。我的测试类内容基本上如下所示: public function __construct() { $this->mock = Mockery::mock('Class\To\Mock'); } public function tearDown() {

如何在phpunit config.xml中设置用户

在使用phpunit时,是否可以设置测试套件将运行的用户。我们有一些测试要求您以“www-data”的形式运行该套件,我们希望能够在config.xml中强制实现这一点,这样人们就不必记得在运行该套件时手动更改用户。您找到答案了吗?我现在也有同样的问题。

Phpunit 如何对受保护的方法进行单元测试?

有没有办法对类的受保护或私有方法进行单元测试?现在,我公开了很多方法,以便能够测试它们,这破坏了API 编辑:这里实际回答:对于受保护的方法,您可以对测试中的类进行子类化: class Foo { protected function doThings($foo) { //... } } class _Foo extends Foo { public function _doThings($foo) { retu

Phpunit 使用TYPO3测试框架运行单元测试时出现各种错误

我正在尝试使用本地的、基于composer的TYPO3 8.7安装,为我的一些扩展运行单元测试。这是我的作曲家文件: { "repositories": [ { "type": "vcs", "url": "https://git.typo3.org/Packages/TYPO3.CMS.git" }, { "type": "vcs", "url": "https://github.com/cobwebch/external_import.git"}, { "type

Phpunit 使用paratest执行黄昏测试

我想用paratest运行我的黄昏测试 但这里有一些麻烦 我只有一个数据库 我只有一份申请 我怎样才能用计算机运行测试 docker compose exec应用程序供应商/bin/paratest-p4测试/浏览器/ 并获取我的应用程序的4个实例?您不能。要做到这一点,您必须启动Docker环境4次,而paratest不知道(也不关心)您的环境 测试数据库的常用方法是根据test\u令牌或UNIQUE\u test\u令牌创建单个数据库(请参阅)。因此,如果您的数据库名为“foo”,那么您的测

如何使用phpunit包为sublime text 3创建phpunit.xml文件

我已经用软件包phpunit轻松安装了sublime Text 3 然后,我按照以下说明下载并安装了适用于windows平台的phpunit 现在再次phpunit成功安装,我已经完成了测试,它们工作正常 现在,当我试图从sublime文本编辑器运行这些测试时,他问我phpunit.xml文件谁能告诉我在哪里可以找到该文件或如何编写该文件。这样我就可以在sublime上运行这些测试了 当我尝试创建phpunit.xml文件时,我面临的另一个问题是,它需要各种设置和路径,如bootstrap.p

Phpunit 如何测试预期的标题?

我有一个单元测试失败,因为已经发送了头。但是,此场景中的头是预期的 我如何告诉PHPUnit期望500头球 我读过,但没用 该方法被包装在输出缓冲区中 ob_start(); $foo->methodWhichSendsHeader(); ob_clean(); 如果安装了xdebug,则可以使用xdebug\u get\u headers()获取头。然后您可以根据需要测试它们 $headers=xdebug_get_headers(); 获取一个数组,该数组看起来像 array(

如何在phpunit.xml文件中引用环境变量?

在我的phpunit.xml文件中,我有一个用于记录代码覆盖率报告的块,如下所示: <logging> <log type="coverage-html" target="./logs/coverage" ... </logging> <logging> <log type="coverage-html" target="$LOG_PATH" ... </logging> 根据: 在测试类中,将禁用备份和恢复全局变

需要使用composer安装PHPunit的帮助吗

我正在尝试使用composer安装PHPunit,每次尝试安装时都会收到相同的错误消息 任何熟悉此问题或知道如何解决此问题的人。提前谢谢 问题1 -phpunit/phpunit 4.6.*@dev->phpunit/phpunit[4.6.x-dev]可满足的phpunit/phpunit安装请求。 -phpunit/phpunit 4.6.x-dev需要phpunit/php代码覆盖率~3.0->未找到匹配的包 潜在原因: -软件包名称中的输入错误 -根据您的最低稳定性设置,该软件包没有足够

Netbeans PHPUnit'';无法识别的选项--运行'';

我刚刚安装了phpUnit和phpUnit骨架生成器,使用了以下指南和。然后我开始在NetBeans中配置phpUnit 我去 Tools-> Options -> PHP -> Frameworks and Tools -> PHP Unit 我将PHPUnit脚本更改为/usr/local/bin/PHPUnit 并将骨架生成器脚本更改为/usr/local/bin/phpunit skelgen。 我还添加了PHP5解释器目录,即/opt/lampp/bin/

Phpunit 通过调度程序执行3个单元测试

我创建了各种类型的TYPO3 PhpUnit测试(我使用的是TYPO3 7.6.10)。我现在想做的是安排这些测试,让它们运行,比如说,每60分钟一次,如果任何测试失败,我会收到一封电子邮件 对于TYPO3调度程序,这可能吗?如果是的话-如何 虽然这当然不是不可能实现的,但像这样的检查应该提前完成。如果部署了损坏的代码,那么最终可能会导致站点损坏至少60分钟 您应该做的是使用CI(持续集成)系统对每个代码更改运行单元测试。现在有各种各样的免费选项,很容易设置。您可以在Stackoverflow上

Mac OS Mojave phpunit 8.0.1 symfony

安装PHPunit 8.0.1后,我出现以下错误: Fatal error: Declaration of Symfony\Bundle\FrameworkBundle\Test\KernelTestCase::tearDown() must be compatible with PHPUnit\Framework\TestCase::tearDown() 我使用的是PHP7.2您的拆卸函数与您扩展的函数不兼容。 为了实现相同的声明,必须添加返回类型 protected function te

在windows上配置git bash以运行phpunit

我正在使用Win7x64 PC来编写php代码。我还在学习使用PHPUnit。我正在使用bash命令行中的phpunit。我希望在运行测试时使用git bash中的颜色 当我安装git for windows时,我受到了抨击。在git命令上,我得到了颜色 ps:使用phpunit--colors不会改变任何东西

当存在大量异常时,为什么phpunit是绿色的?

当存在大量异常时,为什么phpunit是绿色的 以下是travis的工作示例: 我希望它会失败,travis报告一个构建失败了,但它只是静静地通过了。是否缺少任何phpunit配置选项 当前phpunit配置如下: <?xml version="1.0" encoding="utf-8"?> <phpunit colors="true" bootstrap="./vendor/autoload.php" convertErrorsToExce

PHPUnit中的严格间谍方法参数

我测试了这个间谍: $subject->expected($this->once())->method('send_json_success')->with($expected) $expected是一个数组,此数组的一个项应设置为0 而是当前设置为空字符串,这是我正在修复的问题的根源。 我想确保当项目设置为空字符串时测试失败,但我找不到如何告诉PHPUnit严格检查数组是否与$expected完全相同 我不能使用$this->same(),因为该方法不返回任何内容:我需要测试是否使用正确的参数

对Web应用程序使用PHPunit

因此,我正在使用Junit for Java,我已经确信TDD的好处。现在,我正与一个团队一起为我的老板开发一个Web应用程序html/css/php,并提议用PHPunit为WA编写一些测试。但我找不到代码处理数据的任何方法,但WA到目前为止确实有效。我开始在谷歌上搜索ing,只找到了使用代码中函数进行测试的教程 我的问题是:甚至可以使用PHPunit从html行之间测试php代码吗?您谈论的是功能测试,而不是单元测试。构建在PHPUnit之上可能是一个很好的起点,因为它具有更自然的开箱即用功

Phpunit @dataProvider和数据库设置的重新排列顺序

因此,Zend的phpunit数据库框架允许使用表预加载数据库。但是,这阻止了我在数据库中使用@dataProvider,因为似乎在zend重新加载数据库之前执行了@dataProvider。这会导致数据库表不同步 有没有办法重新安排这个过程,让zend重新加载数据库,然后调用@dataProvider?zend什么时候加载数据库?如果专门从setUp()调用它,则可以将调用移动到数据提供程序方法。这并不理想,但PHPUnit调用数据提供者的方式是其体系结构的核心。塞巴斯蒂安计划在某一点上对其进

Phpunit 如何测试只检索模板输出的函数?

我有一个模板类,它获取HTML并基本上将HTML返回给调用方。如何使用PHP单元测试调用程序?我是否只是assertTrue(是字符串(调用函数))?这似乎是一个愚蠢的测试,我想我可能测试得不正确。返回的HTML应该是格式正确的吗?如果是这样,您可以验证它 和/或如果始终假定存在某个节点或文本字符串,则可以检查其存在性。使用strpos、正则表达式或适当的DOM解析器 这个StackOverflow问题为您提供了一些解析和查询HTML的方法: 更一般地说,我通常测试返回字符串的函数的方法是: $

Phpunit ZF2单元测试相册模块返回路由问题

我正在Zf2相册模块中试用phpunit。我遇到一个关于路由的错误 下面是调试信息。上面写着“找不到名为“album”的路由”,但当我在album module文件夹中选中module.config.php时,我发现设置正确,并且在浏览器中重定向到该路由工作正常 Album\Controller\AlbumControllerTest::testDeleteActionCanBeAccessed Zend\Mvc\Router\Exception\RuntimeException: Route

PHPunit:在断言语句中测试内存使用或运行时间

我知道phpunit在测试期间提供内存使用和执行时间,但是有没有办法在assert语句中使用这些数据呢 例如,假设我想断言消耗的使用量是否大于或等于指定的内存或运行时间。我搜索了网络和phpunit手册,无法得到准确的信息 谢谢你的建议。也许我想的方向不对,但为什么不试试这样的方法呢 class memTest extends PHPUnit_Framework_TestCase { public function testMemory() { $this->ass

PHPUnit引导文件中的测试套件信息

我正在使用phpunit.xml.dist文件运行测试。该文件定义了几个测试套件,并指定了bootstrap.php。在这个bootstrap.php中,我当前正在加载所有测试的所有依赖项 测试的一小部分依赖于某些第三方库,这是可选的。这些测试都是特定测试套件的一部分。因此,我只想在指定特定测试套件时,将此库加载到引导文件中 如何确定是否指定了此测试套件?这样可以确保大多数测试在库未加载时可以运行,并且可以轻松地验证不应该依赖于库的代码和测试确实不需要它 我目前有以下几点。有更好的吗 if (

require_once(File/Iterator/Autoload.php):无法打开流:第64行的/usr/lib/php/PHPUnit/Autoload.php中没有这样的文件或目录

我正试图在我的Mac10.8OSX上安装phpUnit 但是,每次在终端上执行命令phpunit时,都会出现以下错误: mkothari nbook:~mkothari$phpunit PHP警告:require_once(File/Iterator/Autoload.PHP):无法打开流:第64行的/usr/lib/PHP/PHPUnit/Autoload.PHP中没有这样的文件或目录 PHP致命错误:require_once():无法在第64行打开/usr/lib/PHP/PHPUnit/A

Phpunit 如何从代码覆盖率报告中排除未使用的库?

关于PHPUnit的代码覆盖率白名单,有一点我显然不明白 我有以下几个文件夹的过滤器: <filter> <whitelist addUncoveredFilesFromWhitelist="true"> <directory suffix=".php">./app</directory> </whitelist> <whitelist addUncoveredFilesFromWhitel

OSX 10.8山狮梨/PHPUnit不工作

我已经安装了山狮,我无法让它工作 $ pear config-get bin_dir /Users/greg/pear/bin $cd /Users/greg/pear/bin $ls pear* peardev* pecl* phpunit* $phpunit -bash: phpunit: command not found 阅读这篇博文: 对我来说很有用。非常好,简洁的回答,但是上面提到的博客帖子没有提到phpunit或pear。也许是在答案公布后修改的。 $ sudo cp /

尝试使用配置XML文件运行PHPUnit会导致异常

我正在尝试(有一段时间,在PHP聊天室的同事们的帮助下)成功地将PHPUnit与PhpStorm集成 我已经设置了phpunit.xml文件,如下所示: 习俗/* 并成功地将PHP storm配置为从该文件读取 问题是,在运行测试时,我在PhpStorm的控制台中遇到以下错误: D:\Websites\php\php.exe C:\fakepath\ide-phpunit.php --bootstrap D:\Websites\htdocs\lamed\tests\boostrap.php

Phpunit,为什么这是一个死代码?

我正在使用PHPUnit(4.1.3),它将某些东西称为死代码: 这真让我恼火。return之后的代码是死的,这是正常的,但将右括号作为死代码调用只是过火了XDebug解析问题,因此右括号不会在return语句之后执行,因为代码离开了该函数,并且不会实际执行右括号。这是XDebug/PHP/PHPUnit解析/执行空间中的一个已知问题。由于没有着色的行,我想知道它的行号是否有误。它可能需要1TB缩进吗?这可能是phpunit/xdebug中的一个已知错误。我担心你将不得不忍受它——就像我一样:

PHPUnit在新Symfony 3安装中

我使用文档中显示的命令行安装了Symfony 3,并安装了PHPUnit phpunit --version PHPUnit 6.0.6 by Sebastian Bergmann and contributors. 在命令行中运行phpunit时,出现以下错误: PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found in D:\symfony\vendor\symfony\symfony\src\Symfony\Bund

如何在phpunit中运行多个测试文件?

我在几个文件中编写了一些测试:tests/ApiTest.php,tests/UtilsTest.php。我还有tests/bootstrap.php和tests/phpunit.xml <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.5/phpunit.xsd" backu

PHPUnit是否通过“订购”;“所有缺陷”;或;最近的缺陷;?

当我使用--order by=defects标志运行PHPUnit 7时,我是否应该期望我的测试按以下顺序排序: 所有时间的缺陷(例如,我在模块Foo中遇到了很多失败,所以即使我今天在酒吧工作,它也会首先运行Foo) 最近的缺陷(例如,我刚刚在新模块Baz中编写了一个红色测试,因此它将首先运行Baz,甚至在传说中容易失败的Foo之前)

Phpunit 我无法让VisualHPUnit运行我的测试

我按照这里的描述安装了。我正在使用XAMPP 定义('PEAR_PATH','c:\xampp\php\PEAR'); 定义('TEST_目录','C:\xampp\htdocs\visualhpunit\tests') 当我运行时,我看不到任何文本,只看到格式良好的空白。谷歌还没有找到任何其他报告VisualHPUnit屏幕呈现为空的人 左侧显示“ 可视HPU 测验------------- 选择权------------ 档案----------- 图表------------- 右边是一个

PHPUnit只运行目录中的第一个文件

在一个目录中,我有两个文件 oneTest.php <?php class oneTest extends PHPUnit_Framework_TestCase { public function testSomethingOne() { echo 'ONE TEST'; $this->assertEquals(1, 1); } } 我在这两方面都得到了预期的结果 如果我尝试使用 phpunit * 它只运行第一个测试

如何选择PHPUnit用于代码覆盖的驱动程序?

我在PHPUnit中得到了错误的代码覆盖率报告,我相信这是XDebug的一个bug 如何配置要使用的PHPUnit,即PHPDBG (我正在使用PHPUnit 4.7.7和php5.5.12)PHPUnit从PHP运行时环境中选择驱动程序,因此要使用PHPDBG运行PHPUnit,您必须安装该二进制文件 您必须使用选项“--enable phpdbg”编译PHP,但这仅适用于PHP5.6及以上版本 安装PHP5.4及以上版本的说明如下,(这些说明摘自),并引用 要安装phpdbg,必须根据PHP

Phpunit 隐藏私人&x2B;受保护的方法不受代码覆盖率报告的影响?

我可以从PhpUnit的代码覆盖率报告中隐藏私有和受保护的方法吗 我知道有些人建议应该“间接”测试它们,但我真的不在乎它们是否被调用,我认为为私有实用程序方法设置@封套是完全浪费时间 这是我的phpunit.xml,如果您需要查看: <phpunit backupGlobals="false" backupStaticAttributes="false" bootstrap="vendor/autoload.php" colo

上一页 1 2 ...  4   5   6   7    8   9   10  ... 下一页 最后一页 共 16 页