如何在Integration Test .NET Core中获取会话值



我正在尝试进入集成测试中的访问会话值,但是如何完成?这是我的代码:

    public async Task LoginTest()
    {        
        // Arrange                                    
        var formData = new Dictionary<string, string>
        {
            { "Email", "email_2_test@mail.com" },
            { "Password", "1234567" }
        };
        // Act
        var response = await _client.PostAsync("/Account/Login", new FormUrlEncodedContent(formData));            
        var actualSessionValue = HttpContext.Session.GetInt32("ProfileUser"); // This not work
        Assert.Equal(3212, actualSessionValue)
        Assert.Equal(HttpStatusCode.Found, response.StatusCode);
        Assert.Equal("/DashboardAdmin", response.Headers.Location.ToString());
    }

尝试以下:

HttpContext context = HttpContext.Current;  
var actualSessionValue= (int)(context.Session["ProfileUser"]);

创建当前httpcontext的实例,并将profileuser会话的值返回整数。

最新更新