c# - 单元测试 - 确保所有存储库都通过构造函数
问题描述
我想创建一个单元测试方法来确保所有存储库都通过构造函数传递。
我相信在这里使用 Moq 存储库可能是最好的解决方案,但到目前为止我还无法验证测试方法是否通过。
控制器:
public AgentsController(ICallBoardStatsRepo callBoardRepo)
{
_callBoardRepo = callBoardRepo;
}
界面:
public interface ICallBoardStatsRepo:IDisposable
{
CallBoardStats ById(int clientId);
ClientCalls ByIdNavStats(int clientId);
}
我当前对存储库构造函数的测试方法如下所示:
[TestMethod]
public void AgentController_Test()
{
var myCallBoard = new Mock<AgentCallStats>();
var myTestCallBoard = new Mock<AgentCallStats>();
var callBoardList = new List<AgentCallStats>() { myCallBoard.Object, myTestCallBoard.Object };
var ICallBoard = new Mock<IAgentCallStatsRepo>();
ICallBoard.Setup(x => x.ById(2)).Returns(callBoardList);
myCallBoard.Verify(x => x.Equals(It.IsAny<int>()), Times.Once());
myTestCallBoard.Verify(x => x.Equals(It.IsAny<int>()), Times.Once());
}
运行单个测试方法时,我收到如下错误:
预期在模拟上调用一次,但为 0 次
我在编写单元测试方面不是很有经验,这真的让我陷入了困境。有人愿意帮助我指出正确的方向吗?我觉得我已经接近解决这个问题了,但也许多一双眼睛就能突出这个问题。谢谢你。
解决方案
推荐阅读
- mysql - 如何在 SQL 中将行转换为列?
- python - 将工作日添加到 df 列
- java - Quarkus 下的 Panache 为数据库更新提供超时
- reactjs - 如何更新子组件中的 useState 挂钩?
- swiftui - 如何为 HStack 中的视图设置限制?
- ios - Swift、iOS:可达性 (NWPathMonitor) 与 Ping
- java - toString()、equals() 和 hashCode() 方法的注释或实现?
- flutter - Flutter - Image.memory 在源更改后不刷新
- ios - 如何使没有文本的 UIButton 成为其图像的大小?
- actions-on-google - 当我尝试在谷歌操作上测试我的机器人时,我的应用程序直接离开了对话