[英]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.