我正在尝试模拟 Masstransit 的 GetRetryAttempt() 方法以使用 NSubstitute 返回一些值,但似乎不起作用。没有收到任何错误,但 GetRetryAttempt() 总是返回 0 而不是 2。
测试
var context = Substitute.For<ConsumeContext<FakeCommand>>();
var consumeRetryContext = Substitute.For<ConsumeRetryContext>();
consumeRetryContext.RetryAttempt.Returns(2);
context.TryGetPayload(out consumeRetryContext).Returns(true);
context.GetRetryAttempt().Returns(consumeRetryContext.RetryAttempt);
应用代码
public async Task Consume(ConsumeContext<T> context)
{
......
var retryAttempt = context.GetRetryAttempt();
}