using System.Threading.Tasks;
private Mock<IContrato> example;
example = new Mock<IContrato>();
example.SetupSequence(m => m.Executar())
.ReturnsAsync("Primeiro retorno")
.ReturnsAsync("Segundo retorno")
.ReturnsAsync("Terceiro retorno");
public async Task<string> GetMockedExecution()
return await example.Object.Executar();
public static async Task Main()
var program = new Program();
for(int i = 0; i < 3; i++)
Console.WriteLine(await program.GetMockedExecution());
public interface IContrato
public class POC : IContrato
public string estado = "Valor default";
public Task<string> Executar()
return Task.FromResult<string>(estado);