草庐IT

unit-testing

全部标签

php - 使用工厂单元测试 Zend Framework 2 模块

我正在尝试对我编写的ZF2模块进行单元测试,特别是服务对象。但我对如何将服务管理器(调用我的工厂对象)正确地放入测试类感到困惑。我的工厂对象注入(inject)了我的模块实体对象、Doctrine实体管理器和我模块的实体存储库。如何确保在单元测试期间正确调用工厂? 最佳答案 这是我在bootstrap.php中所做的:publicstaticfunctioninit(){if(is_readable(__DIR__.'/TestConfig.php')){$testConfig=include__DIR__.'/TestConfig

PHPUnit RabbitMQ : write test for create connection function

我面临以下问题。我写了一个函数,它在给定所需参数的情况下创建一个连接对象(AMQPConnection)。现在想写相应的单元测试。如果没有运行RabbitMQ代理,我只是不知道该怎么做。这是有问题的功能:publicfunctiongetConnection($hostKey,array$params){$connection=null;try{$connection=newAMQPConnection($params['host'],$params['port'],$params['username'],$params['password'],$params['vhost']);//

php - 如何 mock 模拟内部方法

目标.phpgetData();returntrue;}publicfunctiongetData(){returnarray();}}目标测试.phpshouldReceive('getData')->once();$expected=$this->exp->validate();$this->assertTrue($expected);}}结果Mockery\Exception\InvalidCountException:应调用Mockery_1_ExpWarning的方法getData()恰好1次但被调用0次。我使用Mockery作为模拟工具,例子总是关于如何用DI模拟,我想知道

php - Symfony 表单测试成员函数 create() on null

我正在尝试测试我的表格。我读到:但是我得到一个null异常classMediaTypeTestextendsTypeTestCase{protectedfunctionsetUp(){}protectedfunctiontearDown(){}//testspublicfunctiontestMe(){$formData=array('test'=>'test','test2'=>'test2',);$form=$this->factory->create(MediaType::class);//submitthedatatotheformdirectly$form->submit($

PHP 每晚 : Parameter must be an array or an object that implements Countable

我看到了UTfailures在aPHPwebapp每晚在TravisCI中针对PHP运行:$php--versionPHP7.2.0-dev(cli)(built:Dec4201622:49:34)(ZTS)这是失败的测试用例:$payments=PaymentsHelper::refunds('DE0000000001','2016-04-01','2017-04-01');$this->assertNotNull($payments);$this->assertEquals(0,count($payments));测试失败1)PaymentsHelperTest::test_ref

php - mock 重载类缺少方法

在使用Mockery时需要一些帮助-我想重载一个类,该类是在一个方法中使用newHelperUtil()创建的。使用Mockeryoverload我可以做到这一点,但它给我留下了一个空的shell类。然后我似乎必须创建所有被调用的方法。有没有办法创建一个重载的完整模拟,然后只更改一个方法?$mock=\Mockery::mock('overload:'.HelperUtil::class);$mock->shouldReceive('content')->andReturnUsing(function(){return'differentcontent';});谢谢编辑:我想我想做的是

php - Laravel 使用自定义命名空间扩展 Illuminate\Foundation\Testing\TestCase

我正在尝试为我的Laravel(5.2)API项目设置单元测试。在使用单元测试之前,我想为它们定义一个自定义命名空间,因此我在默认的TestCase.php文件中创建了namespaceTest;。像这样:namespaceTest;classTestCaseextendsIlluminate\Foundation\Testing\TestCase{...}然后我在tests文件夹下创建了一个文件夹UnitTests并将我的单元测试放在具有以下命名空间的文件夹中:namespaceTest\UnitTests;useTest\TestCase;classCreateAccountTes

php - Zend 框架 : Getting started with Zend_Test

有人成功设置了Zend_Test吗?您的方法是什么?您如何运行测试/测试套件?我已经安装并运行了PHPUnit。现在我正在尝试编写一些简单的Controller测试。ZendFramework文档假定自动加载已设置,我还没有这样做。您使用什么方法自动加载适当的文件?我在我的普通Bootstrap文件中这样做,但我不想用一堆包含和设置路径来弄乱我的测试。抽象Controller测试用例类是否可行?文档使用的bootstrap插件怎么样……是您引导测试的方式,还是您喜欢以不同的方式进行?我想尽可能多地重复使用常规引导文件。我应该如何干燥我的Bootstrap以进行测试和正常使用?到目前为止

php - PHP 应用程序的单元、集成和系统测试

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我们的任务是为客户社区开发原型(prototype)。有人建议将PHP作为编程语言。(但我们不应该实际编写代码,只需要一个带有文档的原型(prototype))我想知道在这种php应用程序的单元测试、集成测试和系统测试中使用的最佳实践/工具是什么谢谢

php - 在 PHPUnit 中模拟时在回调中通过引用传递

我有一个我想模拟的接口(interface),并模拟其中一个方法的行为。所以我创建了一个非常简单地模拟行为的回调。如果我创建一个基于此接口(interface)的新对象,则此测试通过,但我想模拟该接口(interface)。模拟的setUp方法被正常调用,并且在我的回调中调用getVar('testing')返回值。但是我的断言失败了,因为该值不可用。在PHPUnit中似乎不能这样做?除非我是傻子。代码流程的简要说明;“getVar”中的代码调用了一个方法,该方法在添加的插件上调用“setUp”。当它调用“setUp”时,它传入“$this”。这是我期望通过引用传递的$this,它适用