簡體   English   中英

TDD-對Web服務進行單元測試

[英]TDD - Unit Testing a Web Service

我有一類負責調用Web服務並返回結果的類。

我正在使用NUnit對整個框架進行單元測試,但是在這種情況下,我找不到任何有說服力的理由來構成良好的單元測試

為什么?

  • 當Web服務返回數據時,它是不確定的。 也就是說, x不一定會導致y
  • 當Web服務不返回任何數據時,出現404找不到

例子:

Result res = GetServiceData("783462"); // Could return x, y or 404 not found.
Result res = GetServiceData("444444"); // Could return x, y or 404 not found.

因此,這似乎不能可靠地進行單元測試。

怎么可能找到令人信服的理由來對此類進行單元測試,或者我是在樹錯了樹呢?

如果要以集成方式測試Web服務,則不是單元測試。 您正在進行集成測試。

集成測試是否有價值? 當然,但是您必須控制數據,這意味着您的工作之一就是設置要提取的數據,以便獲得可以測試的內容。 這有什么目的? 在某些情況下,沒有限制,但是如果數據通過業務規則傳遞,則可能非常有價值。 實際上,您可以建立一個接受條件矩陣,並查看整個系統符合接受條件。 這增加了價值。

在您的特定實例中,還有一些價值,可以確保在您請求不存在的數據時確保存在404(例如,用負數進行測試?)。

如果只想測試單元,則需要注入依賴項,以便僅測試代碼。 有價值嗎? 這取決於。 如果這僅僅是一種傳遞服務類型(即,由類庫完成的所有工作),則僅在驗證Microsoft是否在框架上完成了他們的工作,該框架通常價值有限(如果有)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM