我写了一个c#解决方案。
我想为两个类编写单元测试:
HtmlAgilityPackHtmlProvider
,HtmlContentManager
代码可以从以下网址下载:http://ge.tt/7lDhlFF
但未能编写最简单的测试。
我不确定如何伪造Html内容并验证其结果。
我试过了:
[TestClass]
public class HtmlContentManagerUT
{
////no need, only wrapper
//[TestMethod]
//public void GetRootContentAsByteArray_GoogleAsInput_NoException()
//{
// IHtmlProvider htmlProvider = new HtmlAgilityPackHtmlProvider();
// var rootContentAsByteArray = htmlProvider.GetRootContentAsByteArray("https://www.google.com/");
// Assert.IsTrue(RootContentAsByteArray.SequenceEqual());
//}
[TestMethod]
public void GetRootContentAsByteArray_GoogleAsInput_NoException()
{
IHtmlProvider htmlProvider = new HtmlAgilityPackHtmlProvider();
var externalCss = htmlProvider.GetExternalCss();
Assert.IsTrue(externalCss.SequenceEqual());
}
}
如果我应该在stackoverflow代码审查中发布 -
请发表评论,我将删除当前的帖子。
答案 0 :(得分:0)
你应该看一下这些技巧:
但我真的不明白你想做什么。您是否尝试对下载的代码进行单元测试?如果是这样,你不应该这样做。您应该只关心您创建的代码。如果您的代码使用某些第三方API,则应将其封装在您自己的类中并对其进行单元测试。
如果没有尝试测试第三方API,您必须首先知道需要测试的内容以及不需要测试的内容。当你有像HTMLProviders这样的类时,在某些情况下测试它会更有意义,例如测试将使用它的业务代码。除非您正在开发API,否则您应该只关心业务逻辑中有意义的内容。
但我们需要更多信息来帮助您。