在PHPUnit 3.7的方法中测试受保护的方法

在PHPUnit 3.7的方法中测试受保护的方法,php,phpunit,tdd,Php,Phpunit,Tdd,我需要测试makeFileMatch函数,这个函数里面有两个受保护的方法。 做这件事的正确行为是什么? 我有一个这个类的模拟,我需要创建这个方法的反射,并更改您的返回值? 我需要一个例子:D public function makeFileMatch($templateUrl,$width,$height) { $result = $this->assembleCurlRequest($templateUrl, $width, $height); return $this

我需要测试makeFileMatch函数,这个函数里面有两个受保护的方法。 做这件事的正确行为是什么? 我有一个这个类的模拟,我需要创建这个方法的反射,并更改您的返回值? 我需要一个例子:D

public function makeFileMatch($templateUrl,$width,$height)
{
    $result = $this->assembleCurlRequest($templateUrl, $width, $height);

    return $this->parseJsonResult($result);
}

/**
 * @param $result
 * @return array
 */
protected function transformJsonInArray($result)
{
    return (array)json_decode($result);
}

/**
 * @param $result
 * @return bool|string
 */
protected function tryToRetrieveUrlFromJsonResponse($result)
{
    if ($result['status'] == 'success') {

        return $this->getCreatedThumbByUrl($result['data']->url);
    }

    return false;
}

如果你的问题是:如何在PHPUnit测试中调用受保护的方法,你应该看看这篇很棒的博文:基本上,你可以使用PHP反射来更改方法的可访问性。我知道这样做,但我不知道在我更改了你的可见性之后,如何更改这些方法的返回