php – laravel中的测试过滤器4

php – laravel中的测试过滤器4,第1张

概述我是新来的laravel.我正在尝试测试该身份验证对我的网站有效,并且我想在测试用例中测试身份验证过程.我创建一个内存中的sqlite数据库,我创建一个新的用户,并使用 – > save()方法来说明,以将其存储在数据库中.我设置了一个身份验证过滤器,用于检查数据库中的用户名,并根据该过滤器允许用户登录或返回“无效凭据” //我的UserTest.php文件: class UserTest ext 我是新来的laravel.我正在尝试测试该身份验证对我的网站有效,并且我想在测试用例中测试身份验证过程.我创建一个内存中的sqlite数据库,我创建一个新的用户,并使用 – > save()方法来说明,以将其存储在数据库中.我设置了一个身份验证过滤器,用于检查数据库中的用户名,并根据该过滤器允许用户登录或返回“无效凭据”

//我的UserTest.PHP文件:

class UserTest extends TestCase {public function testUsernameIsNotrequired(){    // Create a new User    $user = new User;    $user->username = "phil@ipbrown.com";    $user->password = "123456";    //$user->password_confirmation = "password";    // User should save    $this->assertTrue($user->save());    // Save the errors    $password = $user->getAuthPassword();    // There should be 0 error    $this->assertEquals("123456",$password);    $this->seed();    $this->be($user);    $this->assertTrue(Redirect::route('authFilter'));}}

只要让您知道,一旦测试完成,内存中的数据库就会丢失,因为它的所有连接都丢失,所以我想检查我保存到我的数据库的用户是否正确插入,其次我想检查是否我可以使用这个新用户的信息登录我的网站.

//我的filters.PHP文件:

Route::filter('auth',function(){    if (Auth::guest()) return Redirect::guest('login');});Route::filter('auth.basic',function(){    return Auth::basic('username');});Route::filter('guest',function(){    if (Auth::check()) return Redirect::to('/');});Route::filter('csrf',function(){    if (Session::token() != input::get('_token'))    {        throw new Illuminate\Session\TokenMismatchException;    }});

我试图附加一个过滤器到路由,所以我可以重定向到路由在我的测试和调用auth.basic过滤器,所以我可以测试我的过滤器,我知道我做了很多事情错误,所以请随时纠正你遇到的任何错误

我的routes.PHP文件:>

Route::get('/',function(){    return VIEw::make('hello');});Route::get('/authtest',array('as'=>'/authtest','before' => 'auth.basic',function(){     return VIEw::make('hello');}));Route::group(array('prefix' => 'API/v1','before' => 'auth.basic'),function(){    Route::resource('url','UrlController');});Route::get('authFilter',array('as'=>'authFilter',function(){    return Auth::basic('username');}));

我也有一个uri控制器,它具有我网站的所有页面

this是我现在创建我的uri控制器的时刻

我需要一个测试用例,创建用户将其存储到内存数据库中,然后使用该用户信息进行身份验证.如果任何人知道过滤器的Laravel测试,请让我知道我查找了测试过滤器的文档,但我猜想没有很好的记录.

谢谢

过滤器在Laravel 4的测试中被禁用.

您可以在测试中使用Route :: enableFilters()强制过滤器.

您可以阅读有关为什么/为什么不测试过滤器的各种讨论;

> https://github.com/laravel/framework/issues/344
> https://github.com/laravel/framework/issues/766
> http://forums.laravel.io/viewtopic.php?id=7404
> https://github.com/laravel/framework/issues/682

总结

以上是内存溢出为你收集整理的php – laravel中的测试过滤器4全部内容,希望文章能够帮你解决php – laravel中的测试过滤器4所遇到的程序开发问题。

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

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

原文地址:https://54852.com/langs/1267475.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存