我正在尝试测试一些涉及HttpClient的异步方法,使用vs 2012 Express for 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'
从实际程序(不是测试用例)调用时,相同的代码工作正常。 任何帮助表示赞赏。
答案 0 :(得分:1)
请参阅我的评论,我可以将其作为您问题的答案。
“您使用的是Metro样式单元测试模板吗?如果是,您需要启用应用程序清单文件中的Internet客户端(我认为) - >能够允许此行为的功能吗?还有,因为您是测试一个外部调用,这不是一个单元测试。它更像是一个集成测试。“
我使用了完全相同的代码,但我得到完全相同的错误。正如我所说,如果你只是勾选Package.appxmanifest - >能力 - >互联网(客户端)复选框,你测试应该通过。