Laravel 5.8 Nova登录测试会话缺少预期的密钥[错误]

时间:2019-07-15 09:30:41

标签: laravel unit-testing laravel-5 phpunit laravel-nova

如果我尝试使用Laravel Nova中的无效用户登录,但我尝试编写一个简单的单元测试,但是在运行测试时却不断出现此错误:

  

会话缺少预期的密钥[错误]。

     

无法断言false为真。

我的测试:

public function an_invalid_user_can_not_login()
{
    $user = factory(User::class)->create();

    $response = $this->post('/nova/login', [
        'email' => $user->email,
        'password' => 'invalid',
        '_token' => csrf_token(),
    ]);

    $response->assertSessionHasErrors();
    $this->assertGuest();
}

我在这里做什么错了?

编辑

此行失败:

$response->assertSessionHasErrors();

2 个答案:

答案 0 :(得分:0)

改为尝试MenuSelection

因此,如果您要验证的密码是:var products = [ { id: 0, name: 'Salami', price: 8, hour: null, supp:[ { id: 1123, name: 'fromage', price: 5, hour: null }, { id: 11234, name: 'bbq', price: 10, hour: null }, ] }, { id: 1, name: 'Fish', price: 10, hour: null, supp:[ { id: 1123, name: 'fromage', price: 5, hour: null }, { id: 11234, name: 'bbq', price: 10, hour: null }, ] } ]; var shoppingCart = [{ id: 0, supp: [1123], }, { id: 1, supp: [1123, 11234], }]; shoppingCart.forEach(menuSelection => { let product = products.find(item => item.id === menuSelection.id); let foodItem = product.name; let ingredients = []; menuSelection.supp.forEach(suppId => { ingredients.push(product.supp.find(item => item.id === suppId)); }); console.log("Food Item: " + foodItem); console.log("Ingredients: "); ingredients.forEach(item => { console.log(item); }); });

答案 1 :(得分:0)

我的表单请求返回“消息”而不是“错误”。所以我使用了方法的第二个参数来传递它。

$response->assertJsonValidationErrors('field_name', 'message');