我最近开始编写单元测试,所以概念本身对我来说仍然不是很清楚,我正在尝试通过在我正在进行的项目上编写单元测试来学习它。
我已经测试了身份验证,这一切都很好;但是,当我想测试表单提交时,它会引发以下错误:
'ErrorException' with message 'Undefined variable: errors'
当我调试时,我发现没有为Phpunit定义视图变量$errors
。我正在测试的表单被抽象为部分视图,以便从CREATE/UPDATE
引用它,但事实证明,Phpunit无法处理部分视图。
我在评论@include('view.name')
形式时测试了我正在测试的视图通过它。
我的问题是这是否有任何解决方法。如何测试具有部分视图的视图?
异常:
Caused by
exception 'ErrorException' with message 'Undefined variable: errors' in /Users/***/Developpement/***/storage/framework/views/36f0b5638ab33 be6eca70d4986f07ad2:2
Stack trace:
#0 /Users/***/Developpement/***/storage/framework/views/36f0b5638ab33 be6eca70d4986f07ad2(2): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Undefined varia...', '/Users/***/D...', 2, Array)
#1 /Users/***/Developpement/***/vendor/laravel/framework/src/Illumina te/View/Engines/PhpEngine.php(42): include('/Users/***/D...')
#2 /Users/***/Developpement/***/vendor/laravel/framework/src/Illumina te/View/Engines/CompilerEngine.php(58): *** minate\View\Engines\PhpEngine->evaluatePath('/Users/***/D...', Array)
#3 /Users/***/Developpement/***/vendor/laravel/framework/src/Illumina te/View/View.php(138): Illuminate\View\Engines\CompilerEngine- >get('/Users/***/D...', Array)
家长视图
<div class="container">
{!! Form::open(['route' => 'admin.festivals.create.post', 'enctype' => 'multipart/form-data']) !!}
<legend>Create</legend>
<div class="pull-right">
<a class="btn btn-info" href=" {{route('admin.festivals.list')}}">Home</a>
</div>
// HERE IS THE LINE WHEN I COMMENT IT IT WORKS
{{--@include('admin.festivals._form')--}}
{!! Form::submit('Create', ['class' => 'btn btn-primary col-md-2']) !!}
{!! Form::close() !!}
</div>
部分视图
<div class="form-group row {{ $errors->has('start_date') ? 'has-error' : '' }}">
<label class="control-label col col-md-2" for="start_date">Start Date</label>
<div class="col col-md-4">
{!! Form::datepicker('start_date', (isset($festival)) ? $festival->start_date : null) !!}
{!! $errors->first('start_date', '<span class="help-block">:message</span>') !!}
</div>