用于模拟的实体存储
本文关键字:存储 实体 模拟 用于 | 更新日期: 2023-09-27 18:08:34
我们想在应用程序中模拟一些服务(通常是外部的)。mock的实现应该依赖于在XML中易于编辑的数据实体。
例如,mock平凡方法GetUsers:
class UserServiceMock : IUserService
{
public List<User> GetUsers()
{
return MockRepository.Get<User>();
}
}
用户列表应该在 users .xml:
中可编辑<Users>
<User id="1" name="TestUser" />
</Users>
实体当然可以是复杂的类。它应该很容易添加和配置新的实体。
实现这种模拟的最佳方法是什么?
对于单元测试,我不会依赖于用户可编辑的文件来提供模拟数据。相反,请使用Rhino。mock模拟IUserService,并返回unit测试所需的数据。
var userService = MockRepository.GenerateStub<IUserService>();
userService.Stub(s => s.GetUsers()).Returns(new [] {
new User { id = 1, name = "TestUser" }
};
我通常使用种子数据(如"users.xml")进行集成/压力测试。