单元测试异步方法:无法解析远程主机



我正在尝试测试一些异步方法,这些方法涉及 HttpClient 与 win 8 的 2012 express,它是测试框架。无论我如何尝试,我总是得到相同的异常。

例如,此测试代码:

[TestMethod]
public async Task Connect()
{
    HttpClient client = new HttpClient();
    string reply = await client.GetStringAsync("http://google.com");
    Assert.AreNotEqual(0, reply.Length);
}

考虑到这一点,这可能应该有效:http://www.richard-banks.org/2012/03/how-to-unit-test-async-methods-with.html

抛出

System.Net.WebException: The remote name could not be resolved: 'google.com'

从实际程序(而不是测试用例)调用时,相同的代码工作正常。任何帮助,不胜感激。

请参考我的评论,我可以将其作为您问题的答案。

"您使用的是地铁样式单元测试模板吗?如果是,您需要在应用程序清单文件中启用 Internet 客户端(我认为)>功能以允许此行为?此外,由于您正在测试外部调用,因此这不是单元测试。这更像是一个集成测试。

我使用了与您完全相同的代码,并且出现完全相同的错误。正如我所说,如果您只是勾选 Package.appxmanifest -> 功能 -> Internet(客户端)复选框,您的测试应该通过。

最新更新