I want to unit test a method that calls another method of a service returning an IAsyncEnumerable
.
I have created a a mock of my service Mock<
I recommend using ToAsyncEnumerable
from System.Linq.Async
, as Jeroen suggested. It seems like you're using Moq, so this would look like:
async Task MyTest()
{
var mock = new Mock();
var mockData = new[] { "first", "second" };
mock.Setup(x => x.CallSomethingReturningAsyncStream()).Returns(mockData.ToAsyncEnumerable());
var sut = new SystemUnderTest(mock.Object);
var result = await sut.MyMethodIWantToTest();
// TODO: verify `result`
}