c# - 单元测试异步方法 : The remote hostanme could not be resolved

标签 c# .net unit-testing .net-4.5 c#-5.0

我正在尝试测试一些涉及 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/

相关文章:

c# - 我应该创建 DTO 以从 put 方法中的对象中删除 id 吗?

.net - 无法加载文件或程序集 'AutoMapper' 或其依赖项之一

python-3.x - 如何模拟 googleapiclient.discovery.build 以单元测试从谷歌表格读取

java - 如何在带有参数和自定义返回对象的方法上运行 junit 测试

c# - 在特定位置禁用 HttpModule

c# - 如何使用 C# 构建 PathGeometry?

c# - 在设计时代码中使用模拟框架的缺点

c# - 如何根据当前服务器找到最适合读取或写入 Stream 的缓冲区大小

java - 如何对返回 void 的方法进行单元测试 "test the contract"?

c# - Java 是编写音乐 DAW(数字音频工作站)的现实选择吗