集成测试设置

时间:2019-01-14 07:10:10

标签: integration-testing asp.net-core-2.0

我有带有DAL>回购>服务> Web API(控制器)的洋葱体系结构asp.net核心项目。

我想实施集成测试,在其中我要通过所有层对事物进行测试+测试数据库实例。

我正在尝试找到最不引人注意的方式进行设置。经过大量阅读后,我想到了:

  1. testDatabase的计算机(本地或服务器)上创建单独的数据库实例(env = "Testing"
  2. appsettings.Testing.json中我定义db: "testDatabase",而在appsettings.json中我定义db: "productionDatabase"
  3. 我在环境变量(或密钥库)中有数据库密钥
  4. 运行测试时,我设置了UseEnvironment("Testing")

这样,我不需要在实际测试项目中进行任何其他设置,也不需要使用_textDBContext模拟我的仓库,等等...只需切换环境并运行它即可。

在阅读时,我提出了一些相当复杂的设置,其中包含测试项目本身中的许多内容(模拟测试dbContext,单独的Startup等的回购协议)解决同样的问题。与此相比,我的设置似乎非常简单,这让我感到奇怪:

我想念什么吗? 此设置有任何问题吗?

(我使用xUnit,但这没关系)

0 个答案:

没有答案