2009-02-08 32 views

Trả lời

4

Bạn chỉ có thể làm một kiểm tra tất cả về sở hữu thiết

[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

FYI, điều này được sử dụng MsTests vì vậy bạn có thể phải điều chỉnh các thuộc tính của bạn cho phù – bendewey

+1

Cảm ơn bạn - vì những lý do đó là hoàn toàn vượt ra ngoài tôi, khi tôi thử những gì bạn đề nghị nó không hoạt động. Nó hiện nay. Silly tôi - cảm ơn bạn. –

+0

Vì vậy, tôi có được câu trả lời được chấp thuận không? – 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"); 
} 
Các vấn đề liên quan