Результат от интеграционного теста отличается в CI Build - PullRequest
0 голосов
/ 07 января 2019

У меня есть интеграционный тест, который создает объект и впоследствии удаляет его

[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 вручную помечает все мои интеграционные тесты как пройденные. Пожалуйста, помогите!

...