当我尝试模拟它时重新声明方法

redeclaring method when i try to mock it

我有一个绑定在服务提供商
中的class 这个 class 使用我的外观扩展了 laravel 的外观,但是
当我尝试模拟 class 它说的是
Cannot redeclare Mockery_1_App_Classes_Dashboard_class::shouldReceive().

我的测试方法:

    public function test_method()
    {
        class::shouldReceive('method')->once()->andReturns(true);

        $response = $this->another_class->method();

        dd($response);
    }

我的门面:

<?php

namespace App\Facades\Dashboard;

use Illuminate\Support\Facades\Facade;

class class extends Facade
{
    protected static function getFacadeAccessor()
    {
        return 'class';
    }
}

应用服务提供商:

<?php

namespace App\Providers;

use Illuminate\Database\Eloquent\Relations\Relation;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;

use App\Classes\Dashboard\class;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {
        $this->app->bind('class', function($app) {
            return new class;
        });
    }

    public function boot()
    {
        Schema::defaultStringLength(191);
    }
}

我在网上搜索过,很遗憾没有找到任何东西。

终于找到问题了
我不小心在我的 class 继承中扩展了 laravel 的外观。