Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带参数类的单元测试_Php_Phpunit - Fatal编程技术网

Php 带参数类的单元测试

Php 带参数类的单元测试,php,phpunit,Php,Phpunit,我开始对我的项目进行单元测试,但我遇到了一些问题 我有一个名为DataReader的类,它向FacebookRest类发送一个对象,如下所示 $facebook = new FacebookRest($this); 我如何在这个类上调用单元测试?当我尝试在unittest中新建类时,它会告诉我需要DataReader的参数 我喜欢这样: public function testFaceBook() { $facebook = new FacebookRest(); } 有什么建议吗?

我开始对我的项目进行单元测试,但我遇到了一些问题

我有一个名为DataReader的类,它向FacebookRest类发送一个对象,如下所示

$facebook = new FacebookRest($this);
我如何在这个类上调用单元测试?当我尝试在unittest中新建类时,它会告诉我需要DataReader的参数

我喜欢这样:

public function testFaceBook()
{
    $facebook = new FacebookRest();
}

有什么建议吗?

您可以使用两种方法来解决此问题:

  • 使用AspectMock()模拟新对象请参见下面的链接:
  • 正如@Gordon所说,您可以使用依赖注入模式()

  • 由您决定

    新的
    是否在课堂上硬编码?如果是这样,则将其注入。然后,您可以使用双精度测试来模拟依赖关系。