0
如何使用Rhino Mock模拟ConfigurationCollection。Mocking ConfigurationCollection
我需要创建一个Expected ConfigurationCollection,其中包含1个元素以测试Configuration是否包含该元素。
谢谢。
注意:我的ConfigurationCollection继承自IEnumerable。
public interface ICapalConfiguration
{
ICapalRepositoryConfigurationCollection Repositories { get; }
ICapalServiceConfigurationCollection Services { get; }
}
public interface ICapalRepositoryConfigurationCollection : IEnumerable
{
string DefaultConnectionString { get; set; }
ICapalRepositoryConfiguration GetElement(string name);
}
public interface ICapalRepositoryConfiguration
{
string Name { get; set; }
string ConnectionStringName { get; set; }
}
[TestMethod]
public void Can_Get_One_Repository()
{
var config = MockRepository.GenerateMock<ICapalConfiguration>();
var expected_repositories = MockRepository.GenerateMock<ICapalRepositoryConfigurationCollection>();
var expected_repository = MockRepository.GenerateMock<ICapalRepositoryConfiguration>();
config.Expect(p => p.Repositories).Return(expected_repositories).Repeat.Any();
config.Expect(p => p.Repositories.GetElement("ArticleRepository")).Return(expected_repository);
var config_repositories = config.Repositories;
var config_repository = config.Repositories.GetElement("ArticleRepository");
config.VerifyAllExpectations();
Assert.IsNotNull(config);
Assert.IsNotNull(config_repositories);
}
你想说什么:“我也倾向于不要模拟简单的数据结构,比如集合,只要使用真实的东西。” – 2009-01-11 17:05:17