![](/img/trans.png)
[英]How to unit test a static method using a fake object for the dependency?
[英]how to fake html content to unit test a method
我写了ac#解决方案。
我想为两个类编写单元测试:
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代码审查中-
请发表评论,我将删除当前帖子。
您应该看看这些技术:
但我真的不明白您要做什么。 您是否要对下载的代码进行单元测试? 如果是这样,则不应这样做。 您应该只关心您创建的代码。 如果您的代码使用某些第三方API,则应将其封装在您自己的类上并对其进行单元测试。
如果不尝试测试第三方API,则必须首先知道您需要测试什么,而不需要测试什么。 当您拥有诸如HTMLProviders之类的类时,在某些情况下(例如,测试将利用它的业务代码)对其进行测试会更有意义。 除非您正在开发API,否则您应该只关心业务逻辑中有意义的部分。
但是我们需要更多信息来帮助您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.