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