9
votes

Comment puis-je vérifier qu'un stub / shim de Microsoft Fakes (bêta) a été appelé (comme AsserSserwascalled dans Rhino Mocks)?

J'utilise la version bêta de Microsoft Fakes dans Visual Studio 11. Comment puis-je vérifier que la méthode d'une dépendance a été appelée par mon système sous test?


0 commentaires

3 Réponses :


13
votes

As Vérifier la fonctionnalité n'est pas incluse dans la version bêta Microsoft Feakes, le code ci-dessous est un test de base pour savoir si une méthode sur une dépendance a été appelée. Vous pouvez améliorer le test TRUE code> pour tester les valeurs de paramètre ou d'autres conditions d'un appel approprié.

Test: p> xxx pré>

classes: P> >

public class First
{
    readonly Second _second;
    public First(Second second) { _second = second; }
    public void DoIt() { 
        //_second.DoIt();
    }
}

public class Second {public void DoIt(){}}


0 commentaires

9
votes

Une autre option que vous avez pour effectuer une vérification du comportement avec le framework Microsoft Feakes consiste à utiliser la classe StubobServer qui incluait dans l'espace de noms Microsoft.QualityTools.Testing.Fakes.Stubes. En utilisant le cadre, vous générez un talon pour votre dépendance. Ensuite, sur votre talon, vous pouvez définir la propriété InstanceObserver sur un nouveau Stubobserver. À l'aide de la classe StubobServer, vous pouvez «interroger» les appels de méthode apportés à votre dépendance. Votre méthode de test ressemblerait à quelque chose comme ci-dessous

//Arrange
var dependency = new StubIDependency { InstanceObserver = new StubObserver() };
var sut = new SystemClass(dependency);

// Act
sut.DoSomething();

// Assert
var observer = (StubObserver)dependency.InstanceObserver;      
Assert.IsTrue(
    observer.GetCalls().Any(call => call.StubbedMethod.Name == "DoSomething"));


1 commentaires

Est-il applicable en quelque sorte dans le cas de catastrophe par allInstances ?



4
votes

0 commentaires