如何对Umbraco Api控制器进行单元测试-System.ArgumentNullException:'值不能为null。参数名称:umbracoContext'

我正在尝试为UmbracoApiController编写单元测试,但是在运行测试时,在创建api控制器的新实例时遇到错误。

我已经开始研究模拟umbraco上下文,但是由于我还很陌生,所以没有取得太大进展。

[TestMethod]
public void GetallMembers()
{
    var c = new GroupManagerApiController();
    Assert.Fail();
}

控制器

public class GroupManagerApiController : UmbracoApiController

在创建控制器的新实例时,我收到以下错误消息:

System.ArgumentNullException: 'Value cannot be null.
Parameter name: umbracoContext'

为此,请指导我。

谢谢。

wudan713 回答:如何对Umbraco Api控制器进行单元测试-System.ArgumentNullException:'值不能为null。参数名称:umbracoContext'

http://blog.aabech.no/archive/the-basics-of-unit-testing-umbraco/

此博客解决了该问题。

需要使用以下方法创建设置方法:

[SetUp]
public void SetUp()
{
    var applicationContext = new ApplicationContext(
        CacheHelper.CreateDisabledCacheHelper(),new ProfilingLogger(Mock.Of<ILogger>(),Mock.Of<IProfiler>())
    );
    UmbracoContext.EnsureContext(
        Mock.Of<HttpContextBase>(),applicationContext,new WebSecurity(Mock.Of<HttpContextBase>(),applicationContext),Mock.Of<IUmbracoSettingsSection>(),Enumerable.Empty<IUrlProvider>(),true
    );
}
本文链接:https://www.f2er.com/3146114.html

大家都在问