CI构建中集成测试的结果不同

时间:2019-01-07 08:29:48

标签: c# nunit integration-testing face-api

我有一个集成测试,可以创建一个对象,然后将其删除

[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会将我所有的集成测试标记为通过。请帮忙!

0 个答案:

没有答案