단위 테스트에서 Moq를 사용하여 테스트중인 클래스가 원하는 방식으로 작동하는지 확인하는 방법에 대한 조언이 필요합니다. 테스트중인 클래스가 Prism (이벤트 통합 자) 이벤트를 게시하고이 테스트가 내 테스트에서 제기되었다고 주장 할 수있는 방법이 필요합니다.유닛 테스트를 위해 Moq를 사용하여 프리즘 이벤트 수집기를 사용하십시오.
직장에서 많은 리소스가 없으며이를 설정하는 방법을 알기가 어렵습니다.
내가 가지고있다 -
public SomeEvent : CompositePresentationEvent<SomeEvent>
{
EventPayload
}
public SomeClass
{
void Allocate(){EventAggregator.Publish<SomeEvent>}
}
public SomeService : IService
{
SomeService(){ EventAggregator.Subscribe<SomeEvent>(DoSomething)}
void DoSomething(SomeEvent evt){}
}
내 테스트 SomeClass에 대한 경우 내가 SomeClass.Allocate를 호출 할 경우 SomeEvent 메시지가 게시되어 있는지 확인해야한다고 생각합니다. 어떻게 이뤄지나요?
또한 조롱 된 SomeService가 SomeEvent를 수신하는지 확인해야합니까? 아니면 SomeClvice가 아닌 SomeService unit test에 속하는 별도의 단위 테스트입니까?
어떤 경우에도이 설정 방법을 잘 모를 경우 조언을 제공해 주시면 감사하겠습니다.
IEventAggregator에 대한 종속성이 SomeClass 생성자 중에 삽입되므로이 예제에서는 "생성자 종속성 주입"을 사용합니다. –
위대한 대답은, 이것이 많은 도움이되었습니다. – user630190