0
私はJobMapperのテストを書いています。私が得ている応答は ReflectionException: Class config does not exist
です。私はこの問題を追跡しましたが、私は解決策の近くにはいないようです。したがって、DBを打つことができない、ReflectionException:クラス構成が存在しません
$this->eloquentJobMapper->toEloquent($validJobModel)
私はDBを呼び出しています、現在の$アプリのインスタンスが正しく初期化されていません。
鉱山の仮定があるため、この行にということでした。
これに関するアイデアですか?
use \Illuminate\Foundation\Testing\TestCase;
use MNF\MJ\Models\Job;
use MNF\MJ\Mapper\EloquentJobMapper;
use MNF\MJ\Repositories\EloquentJobRepository;
use \Illuminate\Support\Facades\Facade as Facade;
use \Illuminate\Container\Container as Container;
use MNF\MJ\Persistence\EloquentJob;
use \Illuminate\Foundation\Application;
class JobMapperTest extends TestCase
{
/**
* @var Job
*/
protected $jobMock;
/**
* @var EloquentJobRepository
*/
protected $eloquentJobRepositoryMock;
/**
* @var EloquentJobMapper $eloquentJobMapper
*/
protected $eloquentJobMapper;
/**
* JobMapperTest setUp().
*/
public function setUp()
{
parent::setUp();
$this->jobMock = Mockery::mock('MNF\MJ\Models\Job');
$this->eloquentJobRepositoryMock = Mockery::mock('MNF\MJ\Repositories\EloquentJobRepository');
$this->eloquentJobMapper = new EloquentJobMapper();
$app = new Container();
$app->singleton('app', 'Illuminate\Container\Container');
$app->instance(Job::class, $this->jobMock);
Facade::setFacadeApplication($app);
}
public function tearDown()
{
parent::tearDown();
Mockery::close();
}
/**
* Creates the application.
*
* @return Symfony\Component\HttpKernel\HttpKernelInterface
*/
public function createApplication()
{
return new Application();
}
//1) giving a valid a Job model, I am getting back an Eloquent Job Model
public function testGivingValidMJModelGettingBackEloquentMJModel()
{
$validJobModel = new Job();
$validJobModel->setJobID(23)
/// ..some setters
$eloquentJob = $this->eloquentJobMapper->toEloquent($validJobModel);
$this->assertInstanceOf(EloquentJob::class, $eloquentJob);
}
}
お返事ありがとうございます。 Unfortunartely、私は同じエラーが発生しています。これはLaravel 4.2のインストールであるという事実に関連していますか? – thitami
あなたはそれをLaravel 4.2と言及していません。それは本当に難しいです。 configのどこか他の部分を使用する可能性がありますが、コードを表示していない可能性があります –