MVP パターンに従う小さなアプリケーションのテストを作成中です。
技術的には、コードの前にテストを作成する必要があることはわかっていますが、デモ アプリをすばやくスマートに作成する必要があったため、実際の開発に移る前にテストに戻ります。
つまり、プレゼンターをテストしようとしていますが、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();
}
}
テストを実行するたびに、同じ期待例外が発生します。
何か案は?