У меня есть интеграционный тест, который создает объект и впоследствии удаляет его
[OneTimeSetUp]
public async Task SetUp()
{
var api = new Api();
await api.Create("a");
}
[OneTimeTearDown]
public async Task CleanUp()
{
var uri = "https://someuri/a";
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Subscription-Key", "some_subscription_key");
await client.DeleteAsync(uri);
}
В одном из моих тестов возвращаемый ContentType имеет значение null, однако, когда этот же тест запускается в моей сборке с непрерывной интеграцией, он возвращает "application / json".
[Test]
public void Train_WhenCalled_ContentTypeShouldBeNull()
{
var result = _api.Train("a")
.Result
.Content
.Headers
.ContentType;
Assert.That(result, Is.Null);
}
// Train Method
public async Task<HttpResponseMessage> Train(string id)
{
string uri = $"https://someuri/{ id }/train";
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Subscription-Key", "some_subscription_key");
return await client.PostAsync(uri, null);
}
Документация этого API гласит, что действительно он должен возвращать пустой json, поэтому я не понимаю, почему на моей локальной машине он возвращает null. Запуск vstest.console.exe вручную помечает все мои интеграционные тесты как пройденные. Пожалуйста, помогите!