Интеграционное тестирование с использованием sqlite памяти двумя вызовами API - PullRequest
0 голосов
/ 20 мая 2018

У меня проблемы с выполнением вызова вставки (и созданием базы данных) после того, как возникает запрос, что база данных находится в памяти, проблема в том, что вызов 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();

1 Ответ

0 голосов
/ 22 мая 2018

Я решал ваш StartupTest.cs для IDbConnection с использованием AddSingleton, а в моем тесте с использованием _queryExecutor = _server.Host.Services.GetService(typeof(IQueryExecutor)) as IQueryExecutor; был _server экземпляр TestServer.

...