你好計算器,起訂量:如何投放接口的模擬回接口
我嘗試寫上預期接口(EnvDTE.Project)的私有方法的單元測試。即時通訊使用起訂量框架來創建此接口的模擬:
Mock<Project> mock = new Mock<Project>();
後IM設置一些Propertys,我想施放此模擬的接口後面。 我想這一點:
mock.As<Project>(); //to implement the Project interface
Project project = mock as Project; //this set Project to null
Project project = (Project)mock; //this throws InvalidCastException
有另一種方式來解決這個問題?感謝您的幫助:)
您不會創建類自己的模擬,而是創建它們依賴的服務。然後通常通過構造函數注入來注入這些依賴項。 – Wheels73
你的問題不清楚。你爲什麼要將模擬對象轉換回界面?沒有轉換,它是否按預期工作?你能解釋一下你需要做這種轉換的具體用途嗎?另外接口沒有私有方法。如果實現該接口的類具有私有方法,那麼它應該通過該特定類的單元測試進行測試,而不是通過接口進行測試。 –
我嘗試測試一個私有方法。 – Desiigner