|
|
1
2
正如Richardod正确观察到的,您不能使用实时数据库连接来编写单元测试。如果您正在这样做,那么您就是集成测试。 我为我的存储库接口、一个真正的存储库和一个用于单元测试的假存储库提供了单独的实现。假存储库在通用列表上工作,而不是实际的数据上下文。我正在使用DI(与Ninject一起使用以使事情更为舒适,但您也可以手工完成)来注入正确的存储库。 在只有很少的实例中,我使用实际连接进行单元测试,但这是我的存储库类的单元测试,而不是任何控制器、UI或业务层对象的单元测试。 编辑: 加上你的评论,我想我现在明白你到底在要求什么了。有趣的是,你会问一些关于这方面的问题,因为我上周研究的是同一个主题:—) 我在一个非常薄的包装器中实例化数据上下文,并将其放入httpContext.current.items字典中。这样,上下文是全局的,但只针对当前请求。 不过,你的问题的主题是高度误导性的。您在问“在哪里为单元测试实例化数据上下文”,答案是您通常不会这样做。我的单元测试仍然在假存储库上运行。 |
|
|
2
-2
最简单的方法是使用在web.config中为开发和生产定义的连接字符串。对于UnitTests,您可以在测试项目的app.config中定义它。 |
|
|
Andrus · 如何在Linux中阅读期刊 1 年前 |
|
|
Miranda · 读取xml文件时路径错误中有非法字符 1 年前 |
|
|
Primdonm · 如何将自定义列表中的字符串值格式化为货币格式? 1 年前 |
|
|
Kiryl · Sitecore中自己的控制器 1 年前 |
|
|
Farid · 如何从数据库中填充Resource.resx文件值? 2 年前 |