이벤트 구동 비동기 패턴을 통해 비동기 작업을 제공하는 서비스가 있습니다.Moq을 사용하여 이벤트 조롱 (이벤트 기반 비동기 패턴) - UT에서 이벤트에 어떻게 반응합니까?
public interface IService
{
void DoAsync(int param);
event DoCompleted;
}
는 기본적으로 CALC 완료 소비자에게 알려야합니다 foo.CalculateAsyc CalculationComplete를 호출 한 후 IService 서비스 개체
public class Foo
{
private IService _service;
public EventHandler CalculationComplete;
public void Foo(IService service) {_service = service};
public int Calculated;
public void CalculateAsync(int param)
{
//Invoke _service.DoAsync(param)
//(...)
}
}
에 따라 다른 클래스가있다.
질문은 어떻게 단위 테스트 Foo 때 IService 모의? 나는 Moq을 사용하고있다. 보다 구체적으로 unittest가 CalculationComplete 이벤트를 기다리고 그에 따라 반응하는 방법은 무엇입니까?
감사합니다. – Idan