簡體   English   中英

跨多個文件和單元測試的.NET程序集

[英].NET assemblies spanning multiple files and unit testing

誰能指出跨越多個文件的.NET程序集上的一些信息?

我在MSDN上找到了此評論( 在此處 ):

盡管在技術上可以創建跨多個文件的程序集,但是在大多數情況下您不太可能使用此技術。

我之所以問是因為我在單獨的項目中擁有業務邏輯和單元測試,並且我想測試一些內部類(不能從單元測試中訪問)-所以我想嘗試合並兩者合並成一個組件。

您可以將兩個程序集聯系在一起。 這樣一來,另一人就可以看到“內部”。 仍然看不到私人。

MSDN- http://msdn.microsoft.com/zh-CN/library/0tke9fxk( VS.80) .aspx

如果要測試內部方法,則InternalsVisibleTo是適合您的屬性。 實際上,測試內部類/方法實際上是我使用過的唯一東西。

(基本上,將其應用於生產程序集,指定測試程序集–然后,測試程序集可以訪問內部成員。)

我會說以下兩個選項中的一個

  • 如果內部類確實是瑣碎的並且對父程序集是私有的,請跳過測試。 參加這些內部課程的公共課程的測試應涵蓋其中。
  • 如果內部類相當大並且確實需要自己的測試。 將訪問控制的職責划分為另一個類。 公開內部類並像往常一樣編寫測試。 使其成為眾所周知的團隊慣例,即內部類不直接在父程序集外部實例化,或者將其他類用作對“內部類”的單點訪問。

恕我直言,只有當您真的擔心不公開內部類型+絕對必須測試它們時,才可以選擇Option2。 Option1允許您隨時更改內部實現/類,而無需中斷任何測試。 不要使用模糊的方式將程序集拆分到多個物理文件中進行測試。

內部類的測試應該通過測試您的公共方法來進行。

暫無
暫無

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

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