У меня есть следующий интерфейс репозитория
public interface IRepository<TEntity> {
TEntity FindById(int id);
TEntity FindById(long id);
etc
}
Затем у меня есть следующий класс репозитория, который наследует от интерфейса выше
public class Repository<TEntity> : IRepository<TEntity> where TEntity : class {
private DB _context;
public Repository() {
_context = new DB();
}
public Repository(DB context) {
_context = context;
}
Methods.....
}
Я создал FakeRepository <>, который также наследуетот IRepository <>
public class FakeRepository<TEntity> : IRepository<TEntity> where TEntity : class {
private FakeDataContext _context;
public FakeRepository() {
_context = new FakeDataContext();
}
public FakeRepository(FakeDataContext context) {
_context = context;
}
Methods....
}
Единственная разница между репозиторием и фальшивкой заключается в том, что вместо использования LinqToSQL DBContext я создал поддельный для тестирования.
Что я тогда, чточтобы быть в состоянии выполнить в моих модульных тестах это:
ObjectFactory.Initialize(x => { x.For(typeof(Repository<>)).Use(typeof(FakeRepository<>)); });
Таким образом, мои тесты всегда будут выполняться с fakedbcontext в памяти.
Однако я получаю ошибку структуры карты 104 ошибка типа плагина ия не уверен почему?