[英]Write UnitTests for Internal Class of a library
我在庫中有下面的類,我必須為此編寫UnitTests,並且由我的開發團隊給它編寫了單元測試。
internal sealed class Settings : AppSettingsBase
{
private static Settings defaultInstance = ((Settings)(Synchronized(new Settings())));
public static Settings Default { get { return defaultInstance; } }
}
由於其內部,我無法在我的.Tests項目中訪問它。 當我查看stackoverflow時,建議是要求開發人員在AssemblyInfo.cs文件中放置一個屬性[assembly:InternalsVisibleTo(“ MyTests”)]。 這是我要向開發人員提出的要求,但是要花一些時間。
有沒有一種方法可以通過任何反射概念或任何其他概念來讀取這些屬性或變量。 我在測試項目中使用Microsoft FAkes。
單元測試的目的是測試代碼的公共可訪問方面。 由於它是內部的,因此不應直接對其進行單元測試。 測試使用此類的公共功能。
如果必須測試它,那么解決方案的確是將[assembly:InternalsVisibleTo("MyTests")]
到程序集。 這不會花很長時間。 它只需要快速編輯AssemblyInfo.cs
文件即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.