使用MicrosoftFakes为UserManager设置虚假扩展方法

时间:2014-12-06 23:27:20

标签: c# asp.net-mvc unit-testing asp.net-identity

我正在尝试为我的ASP.NET MVC项目编写一些单元测试来测试我的控制器,该控制器与UserManager一起使用并使用其扩展方法FindById(string)。我为存储方法的Microsoft.AspNet.Identity生成了假货,所以我得到了ShimUserManagerExtensions,但我无法实际分配新的行为,因为我不知道如何做到这一点,我无法在任何地方找到它。

这是我在尝试访问该方法时得到的结果。

Picture

我试图按如下方式分配内容

ShimUserManagerExtensions.FindByIdOf2UserManagerOfM0M1M1 = () => new ApplicationUser();

但我被告知FindByIdOf2UserManagerOfM0M1M1是一个方法组,我无法为其分配任何内容。据我所知,这意味着有一些重载方法,我必须将我的行为分配给确切的方法。但是,我不知道该怎么做。

有人可以给我一个提示,或者只是告诉我如何为谷歌制定查询,以便我找到任何信息吗?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题并解决了这个问题:

ShimUserManagerExtensions
            .FindByIdOf2UserManagerOfM0M1M1<ApplicationUser, string>(
                (m, u) => new ApplicationUser());
相关问题