Я был очень доволен Moq, пока мне не понадобилось протестировать метод, который принимает делегат в качестве параметра и получил исключение UnsupportedException.Проблема также упоминается здесь и в списке вопросов Moq .
Есть ли фреймворк, поддерживающий этот вид насмешек?
Например:
///
/// Interfaces
///
public interface IChannelFactory<T> {
TReturn UseService<TReturn>(Func<T, TReturn> function);
}
public interface IService {
int Calculate(int i);
}
///
/// Test
///
Mock<IChannelFactory<IService>> mock = new Mock<IChannelFactory<IService>>();
// This line results in UnsupportedException
mock.Setup(x => x.UseService(service => service.Calculate(It.IsAny<int>()))).Returns(10);