簡體   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