我编写了一个单元测试,该单元测试用于测试控制器方法以确定如何处理异常。
我的控制器方法如下:
public IHttpActionResult FindAllAgents(int clientID)
{
AgentDisplay agentDisplay = new AgentDisplay();
var agentList = _agentCallRepo.ById(clientID).ToList();
agentDisplay.AgentList = agentList;
agentDisplay.Nav = GetaAgentTableNav(clientID);
return Ok(agentDisplay);
}
此控制器方法的测试方法如下:
public void FindAllAgents_Test()
{
clientId = 1;
Boolean isNull = false;
var findAgents = new AgentsController(mockCallBoardStatsRepo.Object, mockAgentCallStatsRepo.Object, mockClientCallsRepo.Object);
try
{
findAgents.FindAllAgents(2);
}
catch (ArgumentNullException e)
{
isNull = true;
}
Assert.IsNotNull(clientId);
}
构造函数需要三个模拟存储库。当我为此方法运行测试时,不断出现以下错误:
System.NullReferenceException: Object reference not set to an instance of an object.
该错误不是该错误发生在方法中的特定位置,但到目前为止,我尝试过的所有操作均未更改任何内容。有人知道这里的问题在哪里吗?任何帮助将不胜感激。谢谢