该项目有一个服务/存储库/合同框架,我试图用phpunit
进行测试。通过注入存储库契约(接口),通过控制器方法完成依赖注入。使用服务提供者,注入的合同将替换为正确的存储库。
问题是我需要在单元测试中访问这些存储库。例如在我的RoleTest
类
funciton testSomething(\ExampleNameSpace\Users\Contract\RoleContract $repo){
$service = new RoleService($repo);
//do some fun stuff
$ret = $service->doSomething( );
}

然而,这不起作用。抛出一个错误,说明实际上接收到的字符串不正确。
我可以跑。
funciton testSomething( ){
$repo = new \ExampleNameSpace\Users\Repositories\RoleEloquentRepository( );
$service = new RoleService($repo);
//do some fun stuff
$ret = $service->doSomething( );
}

然后这会破坏依赖倒置的目的。我怎样才能做到这一点?