2016-08-02 63 views
0

我有以下代码。 登录用户和验证工作,返回true。Laravel 5.2 PHPunit表单提交创建新记录

问题是seePageIs,它返回一个错误。但发布后,负责人必须去公司名单页面。因此,如果我将 - > seePageIs('admin/company')更改为 - > seePageIs('admin/company/create'),它会起作用。

怎么了?

错误:

Failed asserting that two strings are equal. 
Expected :'http://localhost/admin/company' 
Actual :'http://localhost/admin/company/create' 

测试:

public function testExample() 
{ 
    $this->be(User::find(4)); 
    $rules = array(
     'companyname' => 'required', 
     'email' => 'required|email', 
    ); 

    $data = [ 
     'companyname' => 'aa', 
     'email' => '[email protected]'] 
    ; 

    $v = $this->app['validator']->make($data, $rules); 

    $this->visit('admin/company/create') 
     ->press('Create') 
     ->assertTrue($v->passes()) 
     ->seePageIs('admin/company'); 

} 

回答

0

我不知道我理解你的代码非常好,你的问题,但也许是这一行:

$this->visit('admin/company/create') 
    ->press('Create') 
    ->assertTrue($v->passes()) 
    ->seePageIs('admin/company/create'); 

我刚换线seePageIs()添加创建 a结束。也许这是问题?

试试吧。

如果没有,你可以显示你的代码assertEquals(...)...谢谢!

编辑#2 嗨那里下;根据您的意见,我认为你正在做什么: 如果在创建公司后,那么你要检查它,那么你可能需要做这个:

$this->visit('admin/company') 
    ->seePageIs('admin/company'); 

刚刚进入公司页面验证这是正确的页面。

+0

嗨,那可行,只是在我的店方法重定向到管理员/公司 – Bas

+0

我不确定你的意思?你能解释得更好吗?我回答了这个问题 - 那么它应该是向上的箭头。 –

+0

那么,如果我发布表格通常重定向到管理员/公司,但现在我必须设置seePageIs管理/公司/创建,或者seePageIs不是重定向? – Bas