2017-02-17 47 views
1

我注入與FakeItEasy生成我的類存根。在某些時候,我的類訂閱了依賴項的事件。我想以後調用此事件爲我的測試方法的一部分,但它似乎並沒有工作:爲FakeItEasy調用的事件存根

var restApiManager = A.Fake<IRestApiManager>(); //IRestApiManager has Connected event 
var target = new ViewModel(restApiManager); 

target.Connect(); //some private method subscribes to RestApiManager.Connected 

restApiManager.Connected(); //obviously not working 

有沒有一種方法調用從存根的事件?

回答

2

事件集資的方式覆蓋FakeItEasy文檔中的Raising events話題。

你要叫這樣的事情

restApiManager.Connected += Raise.With(arguments); 

或其變型,根據參數的情況下提供給聽衆。

如果您已經定義了使用自定義委託的情況下,那麼你將需要提供typeparam:

restApiManager.Connected += Raise.With<CustomEventHandler>(arguments);