草庐IT

PHPUnit_Framework_TestCase

全部标签

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(

php - 不允许使用 Slim Framework 方法。必须是 : POST (405) 之一

我在slim框架中编写了RESTapi。当我从浏览器调用身份验证API时,它显示'方法不允许。必须是以下之一:POST'。以下是我的代码,请指正我哪里出错了。索引.phppost('/api/authenticate',\Authenticate::class);$app->run();.htaccessRewriteEngineOnRewriteRule^index.php[QSA,L]网址http://localhost/project/api/authenticate 最佳答案 如果您在浏览器中键入URL,方法将是GET而不是

php - 在 Zend Framework 2 中动态加载模块

我昨天也问过这个问题,但是这个问题包含代码。问题我的应用程序有多个模块和2种类型的用户帐户,一些模块总是加载,它们存在于application.config.php中,其中一些是有条件的,即一些是为用户typeA加载的,一些是为用户typeB加载的在阅读了有关StackOverflow的文档和问题之后,我了解了ModuleManager的一些功能并开始实现我认为可能有效的逻辑。一些我如何想出一种方法来加载application.config.php中不存在的模块[SUCCESS]但它们的配置不起作用[问题]即,如果在onBootstrap方法中我得到ModuleManager服务并执行

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 - 如何在 Zend Framework 3 中注册自定义表单 View 助手

我正在将一个继承的ZendFramework2应用程序迁移到ZendFramework3,并且在注册我的自定义表单View助手时遇到了一些困难。这些助手在应用程序使用版本2时起作用,主要用于添加标签属性以实现可访问性。例如,这是一个自定义的FormText.php助手。true,'autocomplete'=>true,'autofocus'=>true,'dirname'=>true,'disabled'=>true,'form'=>true,'list'=>true,'maxlength'=>true,'pattern'=>true,'placeholder'=>true,'rea

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

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

php - 您将如何在 Zend Framework 中构造 Zend_Auth 和 Zend_Acl 以服从瘦 Controller ?

最近在ZendFramework社区中有一些关于瘦Controller的讨论/辩论。显然,ZF用户倾向于将模型视为通往数据库的网关。争论的焦点是模型应该“胖”并且做更多的工作,而Controller不应该链接方法并做很多超出将UI的含义传达给模型的工作。对于一些引用,请点击这篇文章中的链接:http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html按照同样的思路,我认为让Zend_Acl和Zend_Auth控制您的Controller并把它们变成一团复杂的东西很容易。我现在正在构建一