2016-11-25 1 views
1

은이 코드를 포함하는 기능을 테스트입니다 내부 클래스가 필요합니다.비웃음 DbContext 항목

이 문제에 대한 해결책은 없습니까?

+0

어떤 버전이 EF의 당신은 사용하고 있습니까? EF Core를 사용하는 경우 InMemoryDatabaseProvider를 사용할 수 있습니다. – Zeus82

+0

http://stackoverflow.com/questions/7609430/how-to-mock-dbcontext – ColinM

답변

1

Effort을 사용할 수 있습니다. NuGet을 통해 다운로드

<system.data> 
<DbProviderFactories> 
    <add name="Effort.Provider" invariant="Effort.Provider" description="Effort.Provider" type="Effort.Provider.EffortProviderFactory,Effort" /> 
</DbProviderFactories> 
</system.data><entityFramework> 
<providers> 
    <provider invariantName="Effort.Provider" type="Effort.Provider.EffortProviderServices, Effort" /> 
</providers> 
</entityFramework> 

지금 테스트에서 단순히

EffortProviderConfiguration.RegisterProvider(); 
var connection = DbConnectionFactory.CreateTransient(); 
var model = new ApplicationDbContext(connection); 
model.Database.CreateIfNotExists(); 

를 추가 할 수의 app.config에이 코드를 추가하고 짜잔 당신은 테스트 목적으로 가짜 데이터베이스를