用于检查的TestMethod如果将对象成功添加到表中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于检查的TestMethod如果将对象成功添加到表中相关的知识,希望对你有一定的参考价值。
到目前为止我有这个:
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表后,如果成功添加,我该如何断言?我需要检查它是否被添加到内存数据库中(行为上下文)?
答案
你真的想断言数据是否插入表中?
您应该将DBContext
工厂注入您的控制器,并在您的单元测试中使用假工厂。
public class MyController:Controller {public MyController(Func dbContextFactory)...
...
using (var actContext = dbContextFactory())
}
然后,在您的测试中,您只需将工厂注入模拟上下文。
更好的是,在控制器中注入一个组件。
否则,您将离开查询数据库以查看数据是否存在。
以上是关于用于检查的TestMethod如果将对象成功添加到表中的主要内容,如果未能解决你的问题,请参考以下文章
检查对象值是不是存在于 Javascript 对象数组中,如果不存在则将新对象添加到数组