Necesito algunos consejos sobre cómo usar Moq en una prueba unitaria para asegurarme de que mi clase bajo prueba se comporta como yo quiero. Esa es la clase bajo prueba publica un evento de Aggregator de eventos (de Prism) y necesito alguna manera de afirmar que este evento se ha planteado en mi prueba.Mocking Prism Event Aggregator using Moq for Unit Testing
No tengo muchos recursos en el trabajo y me resulta difícil saber cómo configurar esto.
que tienen: -
public SomeEvent : CompositePresentationEvent<SomeEvent>
{
EventPayload
}
public SomeClass
{
void Allocate(){EventAggregator.Publish<SomeEvent>}
}
public SomeService : IService
{
SomeService(){ EventAggregator.Subscribe<SomeEvent>(DoSomething)}
void DoSomething(SomeEvent evt){}
}
Creo que si mi prueba es para SomeClass necesito para verificar que si llamo SomeClass.Allocate se publica un mensaje algunEvento. ¿Cómo se hace esto?
¿También necesito verificar que SomeService se está burlando de SomeEvent? ¿O es una prueba de unidad separada que pertenece a SomeService unit test y no SomeClass?
En cualquier caso, no estoy seguro de cómo configurar algo de esto, así que cualquier consejo sería apreciado.
Este ejemplo utiliza "Inyección de dependencia de constructor", ya que la dependencia de IEventAggregator se inyecta durante el constructor SomeClass. –
Una gran respuesta, esto me ayudó mucho. – user630190