2011-09-15 3 views
0

私たちのアプリケーションでは、いくつかのサービス(通常は外部)を模擬したいと思います。モックの実装は、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