我正在使用Castle Windsor进行IOC和Fluent NHibernate的ORM。我正在创建集成测试来验证映射和基本功能。如何访问Castle Windsor实例化的对象?如何在集成测试中访问Castle Fluent NHiberate
这里是我的仓库安装程序:
public class RepositoryInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(
Component.For<IContainerRepository>().ImplementedBy<ContainerRepository>().LifestylePerWebRequest());
}
}
这里是我的仓库:
公共接口IContainerRepository { 的IEnumerable GetActiveContainers(); }
公共类ContainerRepository:BaseRepository,IContainerRepository { 公共ContainerRepository(ISession的会话) :碱(会话) { }
public IEnumerable<Container> GetActiveContainers()
{
var query = Session.CreateCriteria<Container>()
.Add(Restrictions.Eq("ContentsType", "Raw Material"))
.Add(Expression.Sql("QTY_IN - QTY_OUT > 0"));
return query.List<Container>();
}
}
下面是一个简单的测试,我想写:
[Test]
public void GetActiveTest()
{
var repo = **DoSomethingHere**.GetInstance<IContainerRepository>();
var list = repo.GetActiveContainers().ToList();
Assert.IsTrue(list.Count > 0);
}
,我怎么把访问功能NHibernate会议通入ContainerRepository? –
对不起,代码格式...似乎无法修复它。 –