我有以下代码:
public class MyControllerClass : ApiController
{
private readonly IManager _manager;
public MyControllerClass(IManager manager)
{
this._manager = manager;
}
pubic async Task<IHttpActionResult> GetRequest()
{
try
{
await this._manager.GetRequest();
return this.ok();
}
catch (Exception ex)
{
this.logger.Error("Error message", ex);
throw this.HTTPResponseException("Request failed message", ex);
}
}
}
public class ManagerFake : IManagerFake
{
public Task GetRequest()
{
return Task.FromResult(true);
}
}
我正在使用 NUnit 进行单元测试。对于单元测试,我在 IOC 容器中注册了一个 FakeManager 类,该类包含 GetResult() 方法,并在执行时简单地返回 Task.FromResult(true)。这允许执行 try 块中的逻辑,从而满足该部分的适当代码覆盖率。
我遇到的问题是如何使用相同的 FakeManager 类创建一个测试,该类将抛出异常,以便在无法对 GetRequest 进行两次唯一调用时执行 catch 块逻辑并满足代码覆盖率() 方法,因为它不接受可用于区分两个不同调用的输入参数?
动漫人物
相关分类