用于检查的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如果将对象成功添加到表中的主要内容,如果未能解决你的问题,请参考以下文章

如果不存在,Mongoose 将多个对象添加到数组

如何使用 EasyMock 测试 void 方法

如果不存在,Mongoose会将多个对象添加到数组中

检查对象值是不是存在于 Javascript 对象数组中,如果不存在则将新对象添加到数组

php后台商品添加,需要两个表单,一个用于提交上传图片,一个用于提交商品数据到数据库。

json的登录信息怎么写