繁体   English   中英

如何伪造html内容以进行单元测试的方法

[英]how to fake html content to unit test a method

我写了ac#解决方案。

我想为两个类编写单元测试:

HtmlAgilityPackHtmlProviderHtmlContentManager

可以从以下地址下载代码: 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代码审查中-

请发表评论,我将删除当前帖子。

您应该看看这些技术:

Dependency_injection

Mock_object

但我真的不明白您要做什么。 您是否要对下载的代码进行单元测试? 如果是这样,则不应这样做。 您应该只关心您创建的代码。 如果您的代码使用某些第三方API,则应将其封装在您自己的类上并对其进行单元测试。

如果不尝试测试第三方API,则必须首先知道您需要测试什么,而不需要测试什么。 当您拥有诸如HTMLProviders之类的类时,在某些情况下(例如,测试将利用它的业务代码)对其进行测试会更有意义。 除非您正在开发API,否则您应该只关心业务逻辑中有意义的部分。

但是我们需要更多信息来帮助您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM