2016-02-11 3 views
0

Как создать шлейф IRepository<TModel>? У меня есть 3 интерфейса:Штучный общий интерфейс с подкладками MS

namespace DataAccessLayer.Repository.Interfaces 
{ 
    public interface IRepository<TModel> : IDisposable {...} 
    public interface ICustomerRepository : IRepository<CustomerModel> {...} 
    public interface IRepositoryContainer {...} 
} 

Мои DataAccessLayer.fakes выглядит следующим образом:

<StubGeneration> 
    <Clear/> 
    <Add FullName="DataAccessLayer.Repository.Interfaces.IRepositoryContainer!"/> 
    <Add FullName="DataAccessLayer.Repository.Interfaces.IRiadRepository!"/> 
    <Add FullName="DataAccessLayer.Repository.Interfaces.IRepository!"/> 
</StubGeneration> 

В моих модульных тестов я могу видеть StubIRepositoryContainer, а также ICustomerRepository, но заглушка для IRepository<TModel> не генерируется.

Спасибо.

ответ

1

Я думаю, что ваша фильтрация имени слишком ограничена. Попробуйте удалить '!' из строки IRepository в файле настроек вашей подделки.

<Add FullName="DataAccessLayer.Repository.Interfaces.IRepository"/> 

Это вызывает вопрос, может ли синтаксис разрешить фильтрацию с помощью «!». Пара вариантов, которые я пробовал, не работает («IRepository! TModel»). Вот некоторая информация о Parameter Naming Type Conventions.

+0

Ваше решение, опуская '!', Работает для меня. Большой! – mimo