Mocking de TempData en ASP.NET Core en MSTest

public ActionResult View(string name)
{
    if (TempData["SessionVariable"] != null)
    {
        FileName = name;  
        return View();
    }
    else
    {  
        return RedirectToAction("index", "Home");
    }

}

Método de prueb

public void UseCaseView_CorrectRequirements()
{
    var mock = new Mock<Controller>();
    mock.Setup(p => p.TempData["SessionVariable"]).Returns("admin");
    Controller.View("SAMPLE.xml");           
}

Lanza un error como,

Result StackTrace:

at Moq.Mock.ThrowIfSetupExpressionInvolvesUnsupportedMember (Configuración de expresión, método MethodInfo) en C: \ projects \ moq4 \ Source \ Mock.cs: línea 883 en Moq.Mock.SetupGetPexProtected [T, TProperty] (Mock1 mock, Expression 1 expresión, condición de condición) en C: \ projects \ moq4 \ Source \ Mock.cs: línea 537 en Moq.Mock.SetupGet [T, TProperty] (Mock1 mock, Expression 1 expresión, condición de condición) en C: \ projects \ moq4 \ Source \ Mock.cs: línea 517 en Moq.Mock.SetupPexProtected [T, TResult] (Mock1 mock, Expression 1 expresión, condición de condición) en C: \ projects \ moq4 \ Source \ Mock.cs: línea 507 en Moq.Mock.Setup [T, TResult] (Mock1 mock, Expression 1 expresión, condición de condición) en C: \ projects \ moq4 \ Source \ Mock.cs: línea 484 en Moq.QueryableMockExtensions.FluentMock [T, TResult] (Mock1 mock, Expression 1) en C: \ projects \ moq4 \ Source \ Linq \ Mocks.cs: línea 224 en lambda_method (Cierre) en Moq.Mock.GetTargetMock (Expression fluentExpression, Mock mock) en C: \ projects \ moq4 \ Source \ Mock.cs: línea 856 en Moq.Mock.SetupPexProtected [T, TResult] (Mock1 mock, Expression 1 expresión, condición de condición) en C: \ projects \ moq4 \ Source \ Mock.cs: línea 505 en Moq.Mock.Setup [T, TResult] (Mock1 mock, Expression 1 expresión, condición de condición) en C: \ projects \ moq4 \ Source \ Mock.cs: línea 484 en SE_WEBAPP.Tests.TestControllers.UsecaseControllerTests.UseCaseView_CorrectRequirements () en

D: \ Public \ SE_WEBAPP_TESTCASE \ SE_WEBAPP \ SE_WEBAPP.Tests \ TestControllers \ UsecaseControllerTests.cs: línea 23

Mensaje de resultado: Método de prueba SE_WEBAPP.Tests.TestControllers.UsecaseControllerTests.UseCaseView_CorrectRequirements arrojó una excepción: System.NotSupportedException: Configuración no válida en un miembro no virtual (reemplazable en VB): mock => mock.TempData

Respuestas a la pregunta(1)

Su respuesta a la pregunta