asp.net核心webapi中的tryvalidatemodel在单元测试中抛出空referenceException

时间:2018-11-28 11:42:32

标签: c# unit-testing asp.net-core asp.net-core-webapi

我有一个简单的asp.net core 2.0 webapi。我有一个模型,也从标题中获取值。我在控制器动作中设置了模型属性,并按如下所示进行了模型验证。

[HttpPost]
public async Task<IActionResult> Search(AggregateSearchCriteria criteria)
{
            var providers = Request.Headers["providers"];

            criteria.Providers = providers.ToString().Split(',').ToList();

            ModelState.Clear();

//fails here

            TryValidateModel(criteria);

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            return ok();

}

它工作正常,但是当我编写单元测试时,它在TryValidateModel行上失败了。我可以在Google中看到一些帮助,但似乎没有帮助。

任何人都可以帮助解决此问题吗?

单元测试中的错误是:

AggregateSearchControllerTests.TestAggregateSearchWithValidData threw exception: 
System.NullReferenceException: Object reference not set to an instance of an object.

谢谢

0 个答案:

没有答案