Moc*_*ect 15 asp.net unit-testing httphandler
我目前基于Asp .net的项目大量使用Http处理程序来处理各种请求?那么,有什么办法可以使用单元测试用例来测试每个处理程序的功能吗?我们正在使用Nunit和Moq框架来促进单元测试.
你当然可以,尽管我没有“愤怒”地这么做。
使用 System.Net.WebClient 对处理程序进行 HTTP 调用,并评估返回的内容,这将允许您测试处理程序的面向公众的接口。
在此示例中,我对目标进行了硬编码,并在 WebClient 上使用将返回字符串的方法。
WebClient 还允许您访问 ResponseHeaders、编码和其他有用的“webby”内容;您也可以上传信息。
using System.Net;
namespace UnitTestHttpHandler
{
public class TestHarness
{
public static string GetString()
{
WebClient myWebClient = new WebClient();
return myWebClient.DownloadString("http://localhost/Morphfolia.Web/ContentList.ashx");
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用 TestHarness 调用目标 HttpHandler 并验证测试中的结果(或者如果您知道的话,可以使用更好的测试方法 - 我不是单元测试专家)。
[TestMethod]
public void TestMethod1()
{
string x = UnitTestHttpHandler.TestHarness.GetString();
Assert.IsTrue(x.Length > 5);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5358 次 |
| 最近记录: |