gpt4 book ai didi

c# - 使用 Microsoft Fakes 模拟 HttpContextBase - UserGet 属性丢失

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:44 27 4
gpt4 key购买 nike

我目前正在尝试使用 Microsoft Fakes Framework 编写一些单元测试。对于特定的单元测试,我必须模拟 Controller.User 属性。所以我为 System.Web 添加了一个假程序集并创建了一个新的 System.Fakes.StubHttpContextBase 实例:

var stubHttpContext = new System.Web.Fakes.StubHttpContextBase();

在下一步中,我想设置 User 属性的返回值。我希望在我的 StubHttpContextBase 实例上找到一个“UserGet”属性,但没有成功:

No UserGet property available

真正让我感到困惑的是,MS Fakes 能够为除“User”属性之外的所有其他属性生成 getter。我在这里遗漏了什么吗?

最佳答案

var child = new StubHttpContextBase();
var basecontext= new ShimHttpContextBase(child)
{
UserGet= () =>
new GenericPrincipal(new GenericIdentity("mhu"), new string[0])
};

var conCntx = new ControllerContext();
conCntx.HttpContext = basecontext;
controllerUnderTest.ControllerContext = conCntx;

关于c# - 使用 Microsoft Fakes 模拟 HttpContextBase - UserGet 属性丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14139089/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com