我有两个班级:\App\Services\WeatherService
和\App\Services\WeatherService1
都是平等的。
在我的\Tests\Unit\Services\WeatherServiceTest
我正在尝试创建一个新实例,但我无法实例化\App\Services\WeatherService
。
//Works perfect
$some = new WeatherService1(new \Forecast\Forecast(config('darksky.key')));
dd($some);
/*
App\Services\WeatherService1 {#2405
-forecastApi: Forecast\Forecast {#2406
-api_key: "somekey"
}
}
*/
原始气象服务提供
//Not working
$some = new WeatherService(new \Forecast\Forecast(config('darksky.key')));
dd($some); //app\Services\WeatherService {#2405}
可以采取哪些措施来解决这个问题?
答案 0 :(得分:0)
在另一个测试中,我有一个use
声明。
use app\Services\WeatherService;
更改为
use App\Services\WeatherService;
解决了这个问题。
这是该类的代码。也许,某人知道为什么会这样。但这很奇怪。
class WeatherControllerTest extends TestCase
{
use WithoutMiddleware;
private $mock;
private $cities;
protected function setUp()
{
parent::setUp();
$this->mock = \Mockery::mock(WeatherService::class);
}
public function tearDown()
{
\Mockery::close();
}
//...
}