测试在Laravel中具有局部视图的表单时,Phpunit会抛出错误

测试在Laravel中具有局部视图的表单时,Phpunit会抛出错误,第1张

概述我最近开始编写单元测试,所以概念本身对我来说仍然不是很清楚,我正在尝试通过在我正在进行的项目上编写单元测试来学习它. 我已经测试了身份验证,这一切都很好;但是,当我想测试表单提交时,它会抛出以下错误: ‘ErrorException’,消息’Undefined variable:errors’ 当我调试时,我发现没有为Phpunit定义视图变量$errors.我正在测试的表单被抽象为部分视图,以便 我最近开始编写单元测试,所以概念本身对我来说仍然不是很清楚,我正在尝试通过在我正在进行的项目上编写单元测试来学习它.

我已经测试了身份验证,这一切都很好;但是,当我想测试表单提交时,它会抛出以下错误:

‘ErrorException’,消息’Undefined variable:errors’

当我调试时,我发现没有为PHPunit定义视图变量$errors.我正在测试的表单被抽象为部分视图,以便从CREATE / UPDATE引用它,但事实证明PHPunit无法处理部分视图.

我在评论@include(‘vIEw.name’)形式时测试了它,我正在测试它通过它的视图.

我的问题是,是否有任何解决方法.如何测试具有部分视图的视图?

例外:

Caused byexception 'ErrorException' with message 'Undefined variable: errors' in                  /Users/***/Developpement/***/storage/framework/vIEws/36f0b5638ab33     be6eca70d4986f07ad2:2Stack 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 >    {!! Form::open(['route' => 'admin.festivals.create.post','enctype' => 'multipart/form-data']) !!}    <legend>Create</legend>    <div >        <a  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 ><label  for="start_date">Start Date</label><div >    {!! Form::datepicker('start_date',(isset($festival)) ? $festival->start_date : null) !!}    {!! $errors->first('start_date','<span >:message</span>') !!}</div>
解决方法 除了使用isset()进行检查之外,没有其他解决方法.单元测试旨在测试后端,而不是表单.

从wikipedia开始:

In procedural programming,a unit Could be an entire module,but it is more commonly an indivIDual function or procedure. In object-orIEnted programming,a unit is often an entire interface,such as a class,but Could be an indivIDual method.

如果要测试表单和用户界面的行为,请使用前端测试框架,例如selenium.

总结

以上是内存溢出为你收集整理的测试在Laravel中具有局部视图的表单时,Phpunit会抛出错误全部内容,希望文章能够帮你解决测试在Laravel中具有局部视图的表单时,Phpunit会抛出错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存