c# - 在设置和验证中具有相同参数的起订量
问题描述
我经常在Setup
和中编写相同的参数表达式Verify
。有没有办法引用它们?
我写的:
var mock = new Moq<IFoo>();
mock.Setup(m => m.MyMethod(It.Is.Any<string>());
...
mock.Verify(m => m.MyMethod(It.Is.Any<string>()), Times.Once);
然后我认为应该/可以将它作为Setup
和共享相同的参数移动到一个公共引用中,如下所示:Verify
var MyMethodCall = {WHAT SHOUD BE HERE?};
var mock = new Moq<IFoo>();
mock.Setup(m => MyMethodCall);
...
mock.Verify(m => MyMethodCall, Times.Once);
解决方案
您可以创建一个包含表达式的变量,以便您可以重用它:
Expression<Action<IFoo>> expression = x => x.MyMethod(It.Is.Any<string>());
var mock = new Moq<IFoo>();
mock.Setup(expression);
...
mock.Verify(expression, Times.Once);
推荐阅读
- java - 如何在同一服务器中将两个码头实例设置为单独的 unix 服务
- regex - 具有负前瞻限制长度的正则表达式
- c# - 在 LINQ 中按重写分组时的 SQL 案例
- javascript - 使用 Apollo 返回多个查询
- apache-flink - Apache Beam - Flink runner - FileIO.write - S3 写入中的问题
- ios - 将 ipa 从某个网站安装到计算机(Macbook)直接作为 ipa
- mesibo - mesibo.js 没有正确设置数据库存储
- javascript - 如何在单击动态创建的按钮时添加 jquery?
- java - Protobuf 中的建模接口
- node.js - 在 REST API 中使用 GraphQL 进行数据查询