Ninject を使用して MS Unit Test クラスのコンストラクターに依存関係を注入する方法があることを知りたいです。
リポジトリのコード スニペットは次のとおりです。
public Class StudentRepository : IRepository
{
SchoolContext schoolContext;
public StudentRepository ()
{
schoolContext= new SchoolContext();
}
public IEnumerable<Student> GetAll()
{
return DBContext.Students.ToList();
}
}
ここにIOC構成のコードがあります
public class IocConfig
{
public static void RegisterIoc()
{
var kernel = new StandardKernel();
kernel.Bind<IRepository>().To<StudentRepository>();
}
}
MSユニットテストのコードは次のとおりです。
[TestClass]
public Class StudentReposiotryTest
{
public IRepository studentRepository;
[ClassInitialize]
public static void StudentReposiotryInitialize(TestContext context)
{
IocConfig.RegisterIoc();
}
public StudentReposiotryTest(IRepository repository)
{
studentRepository= repository;
}
[TestMethod]
public void GetAllStudentsTest()
{
List<Student> students = studentRepository.GetAll();
Assert.IsTrue(students.Count > 0);
}
}