2009-02-08 12 views

Répondre

4

Vous devriez juste être en mesure de faire vérifier tous sur la propriété située

[TestClass] 
public class FredTests 
{ 
    [TestMethod] 
    public void TestFred() 
    { 
     var mocker = new MockRepository(); 
     var fredMock = mocker.DynamicMock<IFred>(); 

     fredMock.UserName = "Name"; 
     // the last call is actually to the set method of username 
     LastCall.IgnoreArguments(); 
     mocker.ReplayAll(); 

     fredMock.UserName = "Some Test that does this."; 
     mocker.VerifyAll(); 
    } 

} 

public interface IFred 
{ 
    string UserName { set; } 
} 
+0

Pour votre information, ce utilise MsTests de sorte que vous devrez peut-être ajuster vos attributs en conséquence – bendewey

+1

Merci - pour des raisons totalement au-delà de moi, quand j'ai essayé ce que vous avez suggéré, cela n'a pas fonctionné. Ca fait maintenant. Idiot moi - merci. –

+0

Alors, est-ce que j'obtiens la réponse approuvée? – bendewey

27
public interface IFred 
{ 
    string UserName { set; } 
} 

[Test] 
public void TestMethod1() 
{ 
    IFred fred = MockRepository.GenerateMock<IFred>(); 
    fred.UserName = "Jim"; 
    fred.AssertWasCalled(x => x.UserName = "Jim"); 
}