Provider
namespace App\Providers;
class ElasticSearchProvider extends ServiceProvider
{
public function register()
{
$hosts = [
'elasticsearch'
];
$instance = Elasticsearch\ClientBuilder::create()
->setHosts($hosts)
->build();
$this->app->instance('App\ESClient', $instance);
}
}
Actual Class
namespace App\Mappings;
class Categories implements Mappable
{
public $es;
public function __construct(App\ESClient $es)
{
$this->es = $es;
}
public function setMapping()
{
}
public function getMapping()
{
}
}
Test Case
use App\Mappings\Categories;
class CategoriesTest extends TestCase
{
private $instance;
public function testShouldReturnElasticSearchInstance()
{
$categories = new Categories();
dd($categories->es);
}
}
1) CategoriesTest::testShouldReturnElasticSearchInstance ErrorException: Argument 1 passed to App\Mappings\Categories::__construct() must be an instance of App\Mappings\App\ESClient, none given,
So in here DI is not working, or i have register something wrong how can we test it ?
Thanks
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire