我有一个集成测试,它创建一个对象并在之后将其删除
[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 将我的所有集成测试标记为通过。请帮忙!