草庐IT

phpstorm 和 phpunit

全部标签

PHPUnit - 我可以为较低版本的 PHP 运行测试吗?

如解释here我可以测试PHP版本是否至少为5.3.0。但是如果我想为低于5.3.0的PHP版本运行测试呢?我这样写:./tests/unit/test-file.php但是我收到这个错误Unescaped'我该怎么做? 最佳答案 根据version_compare的文档功能:Thepossibleoperatorsare:,gt,>=,ge,==,=,eq,!=,,nerespectively.在phpunit核心中使用here,您可以简单地将lt指定为值。例如:./tests/unit/test-file.php希望对你有帮助注

PhpStorm 不识别类别名

我看过这个question,但不幸的是没有答案。我正在使用PhpStorm并且正在构建一个加载了Composer项目的项目。我正在努力做到这一点,以便PhpStorm在我按住Ctrl并单击它们时识别我的类/函数,特别是对于通过composer安装的项目。我已尝试更改Settings/Directories中的SourceFolders,但我仍然无法正常工作。我正在使用需要__DIR__。'/vendor/autoload.php';加载我的Composer依赖项。我需要做什么才能让PhpStorm从通过composer加载的文件中识别我的声明?为了支持我的问题,这里有一些图片:我的te

phpunit Mock 返回 null 而原始方法返回字符串

我有这个文件结构:-module--phpunit.xml--blaat.php--tests---blaatTest.phpblaat.php的内容classBlaat{publicfunctiondoSomething(){return'myreturnvalue';}}测试/blaatTest.php的内容usePHPUnit\Framework\TestCase;require_once'./blaat.php';classblaatTestextendsTestCase{publicfunctiontestCanBeCreatedFromValidEmailAddress()

php - 作为数组的一部分从 PHPUnit Test 返回参数

我想从此模拟方法返回一个数组,我希望它包含最初传递给该方法的参数之一。下面的代码运行但不是具有原始参数值的数据,而是类型的对象PHPUnit_Framework_MockObject_Stub_ReturnArgument$stub->method('insert')->willReturn(array('success'=>true,'data'=>$this->returnArgument(0)));我能够得到原始参数的唯一方法是只返回参数,但是我没有我需要的数组$stub->method('insert')->will('data'=>$this->returnArgument(

PHPUnit 测试 double

我开始使用PHPUnit来测试我的代码,但我在理解双重测试方面遇到了一些问题。我尝试对类方法b进行stub以在自另一个方法调用时返回true而不是通常的行为(false)我有这样的代码classMyClass{functiona(){return$this->b();}functionb(){returnfalse;}}classMyClassTestextendsTestCase{functiontestAThrowStubB(){$myClassStub=$this->getMockBuilder('\MyClass')->getMock();$myClassStub->expec

php - 使用 phpunit 测试命令 symfony

我用symfony3.2创建了一些基本命令来定期生成一些时事通讯当我想用phpunit5.5.4测试我的symfony命令时,我正在处理一些问题。它从一开始就失败了:/***@paramInputInterface$input*@paramOutputInterface$output*/protectedfunctionexecute(InputInterface$input,OutputInterface$output){$output->writeln("Scriptstart");//...$output->writeln("done");}通过这个单元测试:useMyBundl

php - Laravel phpunit assertViewHas 与预期的测试数据不匹配

我正在为我的搜索方法编写测试,但目前有一个assertSee并且想将其更改为assertViewHas以获得更好的测试结果。但是我从搜索方法中获得的数据与我期望的数据不匹配。这是我设置$user的地方:protected$user;publicfunctionsetUp(){parent::setUp();$this->seed();$this->user=factory(User::class)->create(['role_id'=>3]);}这是我做出断言的地方:$response=$this->followingRedirects()->actingAs($this->user

php - 如何使用不同的 Linux 用户运行 PHPUnit

我的单元测试位于Vagrant机器中我在Ubuntu18上使用Xdebug和Apache,我使用PhpStorm运行PHPUnit测试。问题是单元测试仅限于由“apache”用户运行,我从命令行运行它们的方式是:sudo-uapachephpunittests/EmailFunctionsLargeTest.php--stop-on-failure它可以工作,但是如何在使用PhpStorm时模拟sudo-uapachephpunit?附言PhpStorm以vagrant用户身份运行测试... 最佳答案 还不可能。欢迎将您的场景作为评

php - 如何修复我的 NetBeans + PHPUnit 集成?

在带有PHPUnit3.4.1的NetBeans6.7.1上,如果我尝试运行我在NetBeans中设置的测试,它会出错并且无法执行测试,这是输出:PHPUnit3.4.1bySebastianBergmann.The--log-xmloptionisdeprecated,pleaseuse--log-junitinstead.Argument#1ofPHPUnit_Util_Fileloader:checkAndLoad()isnoexistingfile如果我从命令行而不是从NetBeans内部运行测试,测试运行良好。如果您将错误的路径或文件传递给phpunit工具,就会出现同样的错

php - 未使用 phpUnit 测试异常?

我正在用phpUnit编写一些单元测试来测试ZendFramework应用程序,我在测试changePassword函数中的异常时遇到了一些问题。测试没有失败,但在生成html的覆盖工具中“抛出新异常($tr->translate(‘userOldPasswordIncorrect’))”;线路未经测试。publicfunctionchangePassword(array$data,$id){$user=$this->_em->find('Entities\User',(int)$id);$oldPassword=sha1(self::$_salt.$data['oldPassword