gpt4 book ai didi

unit-testing - 为具有依赖性的对象模拟数据上下文

转载 作者:行者123 更新时间:2023-12-04 04:17:24 25 4
gpt4 key购买 nike

我正在我的项目中编写一些单元测试,并且我对包含我想要测试的方法的 Controller 具有数据上下文依赖性。

我正在使用 Ninject 注入(inject)依赖项并使用 Moq 来创建我的模拟数据上下文。我的 DI 使用一个接口(interface) IDataContext,我的 dbml impliments 并在整个注入(inject)过程中使用它。

在我的单元测试中,我正在创建我的模拟数据上下文,如下所示:

var mock = new Mock<IDataContext>();
var myController = new MyController(mock.Object);

这会在执行数据上下文构造函数时在第二行抛出 未设置对象实例的对象引用。 异常。

我显然缺少设置它的基本部分,但是我看到的大多数 Moq 示例都涉及使用 Setup() 对模拟对象进行某种测试。

我的做法是否正确?我应该创建一个模拟我的 IDataContext 接口(interface)还是其他东西?

最佳答案

哈哈,答案是在我阅读 emad's blog on unit testing in ASP.Net MVC. 时出现的

我猜您没有将连接字符串添加到测试项目的 app.config 中,对吧? :)

这就是数据库依赖方式,因为您仍然没有模拟数据库端。所以如果你想这样做,你需要在谷歌上搜索一些代码,有几种方法可以做到这一点。

我发现下面的这些引用资料非常有用,但由于我真的不需要模拟数据库端,所以我现在只是使用我的测试数据库服务器。

link

关于unit-testing - 为具有依赖性的对象模拟数据上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2967890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com