我正在尝试测试一些涉及 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
throw
System.Net.WebException: The remote name could not be resolved: 'google.com'
当从实际程序(而非测试用例)调用时,相同的代码工作得很好。 感谢您的帮助。
最佳答案
请引用我的评论,我可以将其作为对您问题的回答。
“您使用的是 metro 风格的单元测试模板吗?如果是,您需要在应用程序 list 文件中启用 Internet 客户端(我认为)-> 允许此行为的功能?另外,由于您正在测试一个外部调用,这不是单元测试。它更像是一个集成测试。"
我使用了与您完全相同的代码,但我得到了完全相同的错误。正如我所说,如果您只是勾选 Package.appxmanifest -> Capabilities -> Internet (Client) 复选框,您的测试应该会通过。
关于c# - 单元测试异步方法 : The remote hostanme could not be resolved,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11022982/