0
내 ViewModels에 UnitTest를 쓰고 있습니다. 내 뷰 모델에서 내가 가진 내 유닛 테스트에서 지금UnitTest 게시 이벤트가 작동하지 않습니다.
private IEventAggregator _eventAggregator;
public MyViewModel(IEventAggregator eventAggregator ) {
_eventAggregator = eventAggregator;
_eventAggregator.GetEvent<ResponseParameters>().Subscribe(OnResponseParametersSave);
}
private void OnResponseParametersSave (ResponseParameters item){
var x = item
}
나는 다음을 수행 : 나는를 디버깅 할 때
private IUnityContainer _unityContainer;
private IEventAggregator _eventAggregator;
[TestInitialize]
public async void TestInitialize() {
_unityContainer = new UnityContainer();
_unityContainer.RegisterType<IEventAggregator, EventAggregator>();
_eventAggregator = _unityContainer.Resolve<EventAggregator>();
_vm = _unityContainer.Resolve<MyViewModel>();
await _vm.Load();
}
[TestMethod]
public void AddingItemDataObjectsShouldThenBeLoaded() {
var _item = new MyObject{
Description = "ArticleOne",
Id = 2,
Comment = "Testing event and adding of item to list",
};
_eventAggregator.Publish(new ResponseParameters () { item = _item });
Assert.IsNotNull(_vm.Data, "The Data object is still null after adding an item");
}
내가 방법 OnResponseParametersSave (에 중단 점을 넣어 가지고)하지만이 실행되지 않고있는 상태입니다 테스트.
사람은 당신이 PRISM (IEventAggregator 및 유니티)를 사용하는 추측 유닛 테스트
EventAggregator.Publish는 이벤트를 게시하고 화재와 잊지의 방식으로 반환합니다. 당신은 단위 테스트에서 IEventAggregator 인터페이스의 구현을 제공해야합니다 : http://stackoverflow.com/questions/3694195/moq-event-aggregator-is-it-possible. – mm8