Je développe une application asp.net (classique) qui tente d'implémenter le modèle MVP using this example. En essayant de tester mon unité présentateur et en utilisant le modèle suivant, le psuedocode pour qui ressemble siVérification de l'enregistrement d'un événement à l'aide de 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);
Comment puis-je vérifier que le présentateur fait ce que devrait dire l'enregistrement des événements Init et charge? Bien que cela se fait facilement dans le Phil Haack's example en utilisant Rhino se moque ...
[Test]
public void VerifyAttachesToViewEvents()
{
viewMock.Load += null;
LastCall.IgnoreArguments();
viewMock.PostSaved += null;
LastCall.IgnoreArguments();
mocks.ReplayAll();
new PostEditController(viewMock,
this.dataServiceMock);
mocks.VerifyAll();
}
... Comment pouvons-nous faire cela en utilisant MOQ?
+1 - frapper ma tête contre le même mur. – Gishu