MVP 패턴을 따르는 작은 응용 프로그램에 대한 테스트를 작성하는 중입니다.Nmock2 및 이벤트 기대
기술적으로 코드 앞에 테스트를 작성 했어야한다는 것을 알고 있지만, 데모 앱을 빠르게 똑똑히해야하기 때문에 실제 개발로 옮기기 전에 테스트로 돌아갑니다.
간단히 말해 발표자 테스트를 시도하고 있지만 Internal.ExpectationException으로 인해 빈 테스트를 실행할 수도 없습니다.
예기치 않은 이벤트 할당 호출시 예외가 발생합니다. 여기
이public LBCPresenter(IView view, IModel model)
{
m_model = model;
m_model.BatteryModifiedEvent += new EventHandler(m_model_BatteryModifiedEvent);
}
모델 인터페이스
public interface IModel
{
event EventHandler BatteryModifiedEvent;
}
, 발표자 클래스입니다 그리고 여기 테스트 클래스, 내가 메신저없는 무엇을 볼 수 없습니다, 필자는 이벤트를 기대하는 NMock 말했다. ..
[TestFixture]
public class MVP_PresenterTester
{
private Mockery mocks;
private IView _mockView;
private IViewObserver _Presenter;
private IModel _mockModel;
[SetUp]
public void SetUp()
{
mocks = new Mockery();
_mockView = mocks.NewMock<IView>();
_mockModel = mocks.NewMock<IModel>();
_Presenter = new LBCPresenter(_mockView, _mockModel);
}
[Test]
public void TestClosingFormWhenNotDirty()
{
Expect.Once.On(_mockModel).EventAdd("BatteryModifiedEvent", NMock2.Is.Anything);
//makes no difference if following line is commented out or not
//mocks.VerifyAllExpectationsHaveBeenMet();
}
}
나는 시험을 실행할 때마다 동일한 기대 Exception을 얻는다.
아이디어가 있으십니까?