3
我最近將MVC 4應用程序重寫爲MVC 5,以便我可以使用ASP.NET身份。我的老測試設置如下(我在測試項目中沒有連接字符串)單元測試IdentityContext
方面:
public class MyDbContext: DbContext {
public MyDbContext() : base("name=DefaultContext") {}...
測試:
var mockVoteSet = new Mock<DbSet<Vote>>();
var mockContext = new Mock<MyDbContext> { CallBase = true };
mockContext.Setup(c => c.Votes).Returns(mockVoteSet.Object);
var service = new VoteService(mockContext.Object);
var result = service.Vote(1, "1", false);
//then assert result
這是運作良好,我所有的測試正在通過。
自從動過我的背景下,現在從IdentityDbContext繼承:
public class MyDbContext: IdentityDbContext<User> {
public MyDbContext() : base("name=DefaultContext") { } ...
在檢驗合格的情況下的模擬,以服務時,我現在得到一個錯誤:
無連接字符串命名'DefaultContext'可以在 應用程序配置文件中找到。
我該如何解決這個問題?
謝謝!它只是缺少在MyDbContext中實現SaveChanges() – woggles