2

我正在尝试测试一些涉及 HttpClient 的异步方法与 vs 2012 express 一起用于 win 8 及其测试框架。无论我如何尝试,我总是得到同样的例外。

例如这个测试代码:

[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'

当从实际程序(不是测试用例)调用时,相同的代码工作得很好。任何帮助表示赞赏。

4

1 回答 1

1

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

"你在使用 Metro 风格的单元测试模板吗?如果是,你需要在应用程序清单文件中启用 Internet 客户端(我认为)-> 允许这种行为的能力?另外,因为你正在测试外部调用,所以这是不是单元测试。它更像是一个集成测试。

我使用了与您完全相同的代码,并且得到了完全相同的错误。正如我所说,如果您只勾选 Package.appxmanifest -> Capabilities -> Internet (Client) 复选框,您的测试应该通过。

于 2012-07-05T11:52:18.303 回答