与 MS Fakes 存根通用接口
Stub generic Interface with MS Fakes
如何创建存根IRepository<TModel>
?我有 3 个接口:
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>
的存根。
谢谢。
我认为你的名字过滤太有限了。尝试删除 '!'来自你的 fakes 配置文件中的 IRepository 行。
<Add FullName="DataAccessLayer.Repository.Interfaces.IRepository"/>
这引发了一个问题,即语法是否允许使用“!”进行过滤。我尝试的几个变体都没有用 ("IRepository!TModel")。这里有一些关于 Parameter Naming Type Conventions.
的信息
如何创建存根IRepository<TModel>
?我有 3 个接口:
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>
的存根。
谢谢。
我认为你的名字过滤太有限了。尝试删除 '!'来自你的 fakes 配置文件中的 IRepository 行。
<Add FullName="DataAccessLayer.Repository.Interfaces.IRepository"/>
这引发了一个问题,即语法是否允许使用“!”进行过滤。我尝试的几个变体都没有用 ("IRepository!TModel")。这里有一些关于 Parameter Naming Type Conventions.
的信息