I'm trying to write unit tests for ModelState validation for an Asp.Net Core Web API.

I read that, the best way to do so is to use `TryValidateModel` function. But, every time I run the unit test, it throws NullReference exception.  

I found many articles suggesting `controller.ModelState.AddModelError("","")`, but I'm not interested in this, as I believe that it beats the actual purpose of the real model validation.

```cs
[TestMethod]
public void TestMethod1()
{
    var controller = new TestController();

    controller.Post(new Model());
}

public class TestController : Controller
{
    public IActionResult Post(Model model)
    {
        bool b = TryValidateModel(model)

        return Ok();
    }
}

```

`TryValidateModel(model)` always throws NullReference Exception from `TryValidateModel(model, prefix)` function.

Appreciate any help.