1

我有一个集成测试,它创建一个对象并在之后将其删除

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

4

0 回答 0