到目前为止,我有这个:
using (var actContext = new ItsAllAboutTheGameDbContext(contextOptions))
{
var cardService = new CardService(actContext);
creditCardResult = await cardService.AddCard("3242423532532434", "332", DateTime.Parse("02.03.2020"), user);
actContext.CreditCards.Add(creditCardResult);
await actContext.SaveChangesAsync();
}
//Assert
将卡添加到上下文中的CreditCards表后,如何断言是否成功添加了卡?我需要检查是否将其添加到内存数据库(actContext)中?
答案 0 :(得分:1)
您真的要断言数据已插入表中吗?
您应该在控制器中注入DBContext
工厂,并在单元测试中使用假工厂。
公共类MyController:控制器 { 公共MyController(Func dbContextFactory)...
...
using (var actContext = dbContextFactory())
}
然后,在测试中,您只需注入一个工厂来模拟上下文。
更好的是,在控制器中注入组件。
否则,您只需查询数据库即可确定数据是否存在。