Предполагая, что IChannel
определяется как:
public interface IChannel
{
int DoWork();
int DoOtherWork();
}
Тогда вы можете определить другое поведение, используя Moq.Linq
, например:
var channelsList = new List<IChannel>
{
Mock.Of<IChannel>(m => m.DoWork() == 1 && m.DoOtherWork() == 1),
Mock.Of<IChannel>(m => m.DoWork() == 2)
};
Assert.Equal(1, channelsList.First().DoWork());
Assert.Equal(2, channelsList.Last().DoWork());
Однако есть ограничение, что вы не можете настроить Throws
, например ...
LINQ to Mocks отлично подходит для быстрого устранения зависимостей , которые обычно не нуждаются в дальнейшей проверке . Если вам позже понадобится проверить некоторые вызовы этих макетов, вы можете легко получить их с помощью Mock.Get(instance)
.
примечание: акцент шахты
LINQ to Mocks .