ошибка phpunit при тестировании реализации с инъецированными зависимостями

Я пытаюсь настроить phpunit-тест на класс, который я создал, называемый EloquentListing который реализует интерфейс, называемый ListingInterface . Для конструктора модели EloquentListing требуется вводная модель Eloquent Model. RepoServiceProvider я использую поставщика услуг для привязки реализации к интерфейсу и RepoServiceProvider модель под названием RepoServiceProvider . Однако при запуске phpunit возникает следующая ошибка:

.PHP Неустранимая ошибка: невозможно создать интерфейс PlaneSaleing \ Repo \ Listing \ ListingInterface в /home/cabox/workspace/app/tests/PlaneSaleing/Repo/Listing/EloquentListingTest.php в строке 11

Мой код выглядит следующим образом:

ListingInterface.php

 <?php namespace PlaneSaleing\Repo\Listing; interface ListingInterface { public function byPage($page=1, $limit=10); } 

EloquentListing.php

 <?php namespace PlaneSaleing\Repo\Listing; use Illuminate\Database\Eloquent\Model; class EloquentListing implements ListingInterface { protected $advert; public function __construct(Model $advert) { $this->advert = $advert; } /** * Get paginated listings * * @param int Current page * @param int Number of listings per page * @return StdClass object with $items and $totalItems for pagination */ public function byPage($page=1, $limit=10) { $result = new \StdClass; $result->page = $page; $result->limit = $limit; $result->totalItems = 0; $result->items = array(); $listings = $this->advert ->orderBy('created_at') ->skip( $limit * ($page-1) ) ->take($limit) ->get(); // Create object to return data useful for pagination $result->items = $listings->all(); $result->totalItems = $this->totalArticles; return data; } } 

RepoServiceProvider.php

 <?php namespace PlaneSaleing\Repo; use Illuminate\Support\ServiceProvider; use PlaneSaleing\Repo\Listing\EloquentListing as Listing; use Advert; class RepoServiceProvider extends ServiceProvider { public function register() { $this->app->bind('PlaneSaleing\Repo\Listing\ListingInterface', function($app) { return new Listing(new Advert); } ); } } 

EloquentListingTest.php

 <?php use PlaneSaleing\Repo\Listing\EloquentListing as Listing; class EloquentListingTest extends TestCase { public function testListingByPage() { // Given $listing = new Listing(Mockery::mock('Advert')); $result = $listing->byPage(); // When // Then $this->assertTrue($result == 10); } } 

Related of "ошибка phpunit при тестировании реализации с инъецированными зависимостями"