2011-09-15 88 views
0

我們想在我們的應用程序中模擬一些服務(通常是外部的)。 Mocks的實現應該依賴於應該可以在XML中輕鬆編輯的數據實體。實體存儲模擬

例如,嘲諷瑣碎方法GetUsers

class UserServiceMock : IUserService 
{ 
    public List<User> GetUsers() 
    { 
     return MockRepository.Get<User>(); 
    } 
} 

而且,用戶列表應該爲可編輯的users.xml中

<Users> 
    <User id="1" name="TestUser" /> 
</Users> 

實體可以是當然複雜的類。應該很容易添加和配置新的實體。

實施此類模擬的最佳方法是什麼?

回答

0

對於單元測試,我不會依賴用戶可編輯的文件來提供模擬數據。相反,使用Rhino.Mocks來嘲笑你的IUserService並返回你需要的數據單元測試。

var userService = MockRepository.GenerateStub<IUserService>(); 
userService.Stub(s => s.GetUsers()).Returns(new [] { 
    new User { id = 1, name = "TestUser" } 
    }; 

我通常使用種子數據(如「users.xml」)進行集成/壓力測試。

+0

我在說手動測試,而不是單元測試,但謝謝你的回答。 – alexey