【发布时间】:2026-01-28 13:15:01
【问题描述】:
我有以下接口。由于 T 是通用的,我不确定如何使用 Moq 来模拟 IRepository。我确定有办法,但我没有通过在这里或谷歌搜索找到任何东西。有谁知道我怎么能做到这一点?
我对 Moq 还很陌生,但可以看到花时间学习它的好处。
/// <summary>
/// This is a marker interface that indicates that an
/// Entity is an Aggregate Root.
/// </summary>
public interface IAggregateRoot
{
}
/// <summary>
/// Contract for Repositories. Entities that have repositories
/// must be of type IAggregateRoot as only aggregate roots
/// should have a repository in DDD.
/// </summary>
/// <typeparam name="T"></typeparam>
public interface IRepository<T> where T : IAggregateRoot
{
T FindBy(int id);
IList<T> FindAll();
void Add(T item);
void Remove(T item);
void Remove(int id);
void Update(T item);
void Commit();
void RollbackAllChanges();
}
【问题讨论】:
标签: c# unit-testing generics moq