使用AbstractController phpunit参数的方法。任何提示

时间:2015-07-22 12:45:14

标签: unit-testing zend-framework2 phpunit

我需要测试看起来像这样的方法,但我的问题是:我应该如何进入这种方法,特别是当我不能"模拟" AbstractController,没有AbstractController的变量,它将无法正常工作

public function add(\Queue\Controller\AbstractQueueController $task) 
{
       //Logic of method         
}

2 个答案:

答案 0 :(得分:1)

你不需要嘲笑它。您已将其设置为参数,因此此测试与测试AbstractQueueController无关。

因此,例如,如果您的函数如下所示:

public function add(\Queue\Controller\AbstractQueueController $task) 
{
   $task->doSomething();
}

然后,在测试中,AbstractQueueController应该接收对doSomething方法()的调用,然后断言该结果。

答案 1 :(得分:0)

我做了类似的事情,我做了扩展课程

class addtest extends Queue\Controller\AbstractQueueController
{
    public function task() 
    {

    }
}

然后在我的QueeuServiceTest中扩展PHPUnit_framework_TestCase

我做了testmethod

public function testadd()
{
    $this->queueService->add(new addtest);
}

它涵盖了代码,但我不知道这是好的做法