用于测试的简单依赖注入
本文关键字:依赖 注入 简单 测试 用于 | 更新日期: 2023-09-27 18:15:49
我是Ninject的新手,我有一个非常简单的需求,但是我在Ninject的文档中找不到我想要的。
我有一个这样的类:
public class User
{
public string Name {get;set;}
...
public ICollection<Address> Addresses {get; protected set;}
}
public class Address
{
public string Street {get;set;}
...
}
因此,我的测试类设置需要实例化一个用户,以便在许多测试中使用。
[TestClass]
public class UserTest
{
User _myUser;
[TestInitialize]
public void Setup()
{
_myUser = new User();
_myUser.Addresses.Add(new Address { Street = "Evergreen" }); // <-- Here I need Addresses must be Instantiated as, lets say, List<T>
}
}
我需要的是_myUser.Addresses
将被注入一个Collection的实例。我不知道如何使用Ninject来完成这个任务。你能给我指个正确的方向吗?
这个不需要Ninject。你可以在你的模型中做类似的事情。
private ICollection<Address> _addresses;
public ICollection<Address> Addresses
{
get { return _addresses ?? (_addresses = new HashSet<Address>()); }
protected set { _addresses = value; }
}
这就是我在我的模型中所做的,当我宁愿有一个默认的空集合而不是一个空值。
你需要的是所谓的'属性Setter注入'和Ninject有一个帮助页面在其wiki的例子。