Utilisation du nouveau style de test Réorganiser/agir/affirmer (AAA) de Rhino Mocks 3.5, j'ai des difficultés à écrire un test.Utilisation de Rhino Mocks Comment puis-je définir une propriété d'un paramètre pour une méthode Mocked?
J'ai une méthode qui appelle une méthode sur une classe de référentiel. ActivateFoo, où mon objet Foo a une propriété IsActive. Le résultat de l'objet ActivateFoo doit changer la propriété.
Voici un exemple de code:
[TestMethod]
public void Should_update_foo_to_active_inside_of_repository()
{
// arrange
var repo = MockRepository.GenerateMock<IRepository>();
var foo = new Foo() { ID = 1, IsActive = false };
var target = new Presenter(repo);
repo.Expect(x => x.ActivateFoo(foo)).Return(true);
// act
target.Activate(foo);
// assert
Assert.IsTrue(foo.IsActive);
repo.VerifyAllExpectations();
}
Je devine que la pièce clé du code serait inbetween "ActivateFoo (foo))." et "Retour (vrai)".
Un point pour clarifier le fonctionnement de la méthode de chaînage en coulisses. S'il y a du code écrit sur la ligne que j'attends, est-ce important si c'est après Return() ou avant? (à moins bien sûr que la solution utilise la surcharge MethodOptions d'Expect, ou autre chose).
Merci d'avance pour toute aide.
Pls clarifier la structure et la relation de vos classes. La relation entre Foo & Presenter n'est pas très claire à partir de votre exemple. Développez également ActivateFoo (foo) et Activate (foo) dans le présentateur. – abhilash