我正在嘗試創建一個REST API庫。我正在尋找一種方法來公開只有一種方法,在這種情況下是一種方法,用於刪除我用來測試的對象,僅用於我的單元測試。僅對我的測試提供方法
基本上這只是在每次測試後清理。將此刪除方法公開給我的任何客戶也是沒有意義的,而且實際上是危險的(刪除應該是手動的)。
我發現
[assembly: InternalsVisibleTo("FunctionalTests")]
但它似乎並沒有影響該方法的可見性。有任何想法嗎?我找不到解決這個特定問題的其他問題。
謝謝!
編輯1: 有問題的方法已標記爲內部。該類是公共的,並且具有不包含該方法的公共接口。
public class Access: IAccess, IDisposable
其中包含了方法:
internal void DeleteIssue(string issueKey)
然而,它不能被調用
AccessInstance.DeleteIssue(TestIssueKey);
它返回一個錯誤「訪問不包含‘DeleteIssue’接受的定義訪問可以找到'Access'類型的第一個參數(你是否缺少using指令或程序集引用?)「我處於同一個Namespace中。
測試項目通常用點命名..所以如果你的mvc被命名爲MySite,VS通常創建MySite.Test - 你確定你的UT程序集正確的名稱? – LB2
Resharper告訴我「'assembly'不是這個聲明的有效屬性位置,該塊中的所有屬性都將被忽略。」我試圖改變InteralsVisibleTo的字符串,而沒有改變或錯誤改變。 –
你把你的'[assembly:InternalsVisibleTo(「FunctionalTests」)]'代碼放在哪裏?它在AssemblyInfo.cs中嗎? – LB2