MVPパターンusing this exampleを実装しようとしているasp.net(クラシック)アプリケーションを開発しています。私のプレゼンターテストユニットにしようと、次のパターンを使用して、擬似コードは、そのためにどのように私はプレゼンターを初期化し、ロードイベントのために登録する、すなわち何を期待されてやっていることを確認しますのでMoqを使用したイベント登録の確認
//base view interface
public interface IView
{
event EventHandler Init;
event EventHandler Load;
bool IsPostBack { get; }
void DataBind();
bool IsValid { get;}
}
//presenter psuedo code
public class SomePresenter
{
public SomePresenter(ISomeDomainService service, IView someView)
{
...
//HOW DO WE TEST/VERIFY THAT THIS REGISTRATION OCCURS?
someView.Init += OnInit;
someView.Load += OnLoad;
}
}
...
//consuming code that exercises the above code, that needs to be tested
var presenter = new SomePresenter(someDomainService, someView);
のように見えますか?これは、簡単にどのように我々はMOQを使ってこれを行うことができます... ... Rhinoのモックを使用してPhil Haack's exampleに
[Test]
public void VerifyAttachesToViewEvents()
{
viewMock.Load += null;
LastCall.IgnoreArguments();
viewMock.PostSaved += null;
LastCall.IgnoreArguments();
mocks.ReplayAll();
new PostEditController(viewMock,
this.dataServiceMock);
mocks.VerifyAll();
}
に行われますが?
1 - 私の頭を打ちます同じ壁に対して – Gishu