如何将测试api与具有唯一约束的真实数据库集成在一起?

时间:2019-07-24 09:31:32

标签: asp.net-core integration-testing

对不起,我的英语不好。

我正在寻找一种测试api的方法,我使用asp.net核心网络api和Mysql。

我发现大多数方法都使用Microsoft.AspNetCore.TestHost。 它将执行请求,并检查响应值。

我的问题是

1。

我有一张这样的桌子

CREATE TABLE `test`.`customer` (`customer_number` INT NOT NULL,PRIMARY KEY (`customer_number`));

我的api接受一个参数(客户编号),并创建一个客户。

当我运行集成测试时,由于主键约束,只有第一次会成功,而之后会失败,如何处理此问题?

2。

据我所知,测试应该总是成功的,这是否意味着我需要在CI服务器上安装Mysql以避免网络故障?

3。

如果Microsoft.AspNetCore.TestHost无法解决这些问题,是否还有其他框架?

注意:我没有使用过任何ORM,是否意味着无法在内存数据库中使用?

0 个答案:

没有答案