PHPUnit:如何测试使用另一个静态 classes 方法的 class 方法

PHPUnit: How to test a class method that uses another static classes method

我有一个 class 方法,我正在尝试为其编写单元测试,它开始时是这样的:

public function determineStatusActivity($proposal, $decisionStatusId): ?array
    {
        if (isset($proposal->contact_org_id)) {
            $this->personId = PipedriveActivityHelper::getPersonId($proposal->contact_org_id);
        }

然后我有了我的测试方法,它需要对 运行 检查的响应:

public function acceptedActivityTest()
{
    $activity = new CreateActivityInPipedriveForProposalStatusChange();
    $response = $activity->determineStatusActivity($this->proposal, 1);

    //Compare the response to a defined stub..
}

此 class 方法 determineStatusActivity() 接收两条数据,我可以创建模拟以传递给它,但是当它到达静态 PipedriveActivityHelper 时我不知道该怎么做class,有没有办法在测试文件方法中定义静态 class' 行为?

我相信 this 就是您要找的,请注意测试 class 装饰器。 TDD 始终是最好的方法。