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를 사용할 수도 있지만 코드를 표시하지 않았습니다. –