Joh*_*ohn 1 c# tdd moq repository
我是新的moq,并一直在努力与以下.
我已经模拟了一个名为_mockedThingsList的List列表
我想Moq我的IRepository的FindBy基于我正在测试的服务中提供的linq查询从这个模拟列表返回.
我目前有什么抛出异常,如下所示.有什么问题吗?
mock.Setup(moq => moq.FindBy(It.IsAny<Func<IThing, bool>>()))
.Returns((enumThingType tp) => _mockedThingsList.Where(x => x.ThingType == tp));
Run Code Online (Sandbox Code Playgroud)
存储库界面如下所示:
interface IRepository<T>
{
IEnumerable<T> FindAll();
IEnumerable<T> FindBy(Func<T, bool> predicate);
void Add(T item);
void Remove(T item);
bool Contains(T item);
int Count { get; }
}
Run Code Online (Sandbox Code Playgroud)
并且将使用此模拟测试的服务
class ThingService
{
private readonly IRepository<IThing> _repository;
public ThingService(IRepository<IThing> repository)
{
_repository = repository;
}
public List<IThing> GetThings1()
{
return _repository.FindBy(y => y.ThingType == enumThingType.WhatEver).ToList();
}
public List<IThing> GetThings2()
{
return _repository.FindBy(y => y.Name == "What ever").ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1740 次 |
| 最近记录: |