.NET Custom Profile Provider方法

时间:2013-03-22 12:57:57

标签: c# .net profile

我构建了返回ProfileBase.Create的方法:

public class ProfilesProvider : ProfileBase, IProfilesProvider
{
    public ProfilesProvider GetUserProfile()
    {
        return (HttpContext.Current.Profile) as ProfilesProvider;
    }

    public ProfilesProvider GetUserProfile(string userName)
    {
        if (String.IsNullOrEmpty(userName))
            return (HttpContext.Current.Profile) as ProfilesProvider;

        return Create(userName) as ProfilesProvider;
    }
}

这段代码工作得很好,但是当我尝试为这个方法创建单元测试时,我收到了一个错误:

  

System.InvalidOperationException:在应用程序的启动前初始化阶段,无法调用此方法。

P.S 这里是测试代码:

_mockProfiles.Setup(m => m.GetUserProfile()).Returns(new ProfilesProvider());
        var result = _controller.Settings(model);

        _mockProfiles.Verify(m => m.GetUserProfile(), Times.Once());
        Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));

1 个答案:

答案 0 :(得分:1)

修正了,我只是打破了ProfileBase和我的Class之间的依赖关系。