2017-02-17 11 views
1

FakeItEasy로 생성 된 스텁을 클래스에 삽입합니다. 어떤 시점에서 내 수업은 종속성 이벤트에 가입합니다. 내 시험 방법의 일환으로 나중에이 이벤트를 호출하고 싶지만 그것은 작동하지 않는 것 :FakeItEasy stub에 대한 이벤트 호출

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);