使用 sqlite 内存的集成测试两次 api 调用

Integration testing using sqlite memory two api calls

查询发生后,我在进行插入调用(和创建数据库)时遇到了问题,数据库在内存中,问题是 acada 调用数据库死了。能够在我的测试中创建数据库并对其进行操作会很有趣。

// Act
var model = new CreateOrUpdateTagsModel
{
    UserId = 1,
    CatalogItemType = "Movie",
    Owner = 1,
    PinRequired = false,
    ProductId = 1,
    TagType = "Stars",
    TagValue = "5"
};

var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() };
var json = JsonConvert.SerializeObject(model, jsonSerializerSettings);

var response2 = await _client.PutAsync("/v1/tags", new StringContent(json, Encoding.UTF8, "application/json"));
response2.EnsureSuccessStatusCode();

var responseString2 = await response2.Content.ReadAsStringAsync();

var response = await _client.GetAsync("/v1/tags?userId=1");
response.EnsureSuccessStatusCode();

我一直在使用 AddSingletonIDbConnection 解决您的 StartupTest.cs,在我的测试中使用 _queryExecutor = _server.Host.Services.GetService(typeof(IQueryExecutor)) as IQueryExecutor; 作为 TestServer_server 实例].