在使用Moq进行单元测试时,如果需要测试一个类是否调用了Action,可以通过以下步骤实现:
var mock = new Mock<YourClass>();
Setup
方法设置一个Action,用于在调用该方法时执行。mock.Setup(x => x.YourMethod(It.IsAny<Action>()))
.Callback((Action action) => action());
Verify
方法验证Action是否被调用。mock.Verify(x => x.YourMethod(It.IsAny<Action>()), Times.Once);
完整的示例代码如下:
[Test]
public void TestActionCalled()
{
var mock = new Mock<YourClass>();
mock.Setup(x => x.YourMethod(It.IsAny<Action>()))
.Callback((Action action) => action());
// 调用要测试的方法
mock.Object.YourMethod(() => { /* 要执行的Action */ });
// 验证Action是否被调用
mock.Verify(x => x.YourMethod(It.IsAny<Action>()), Times.Once);
}
这样,就可以通过Moq和单元测试来验证一个类是否调用了Action。
领取专属 10元无门槛券
手把手带您无忧上云