I study to write a module test by moq , and this simply test failed with
Message: Test method UnitTests.AdminTests.IndexContainPlayerList threw exception: System.NullReferenceException:
[TestMethod] public void IndexContainPlayerList() { //Arrange Mock<IPlayerRepository> mock = new Mock<IPlayerRepository>(); mock.Setup(m => m.Players).Returns(new List<Player>() { new Player () { Id = 1, Name = "Karye", Surname = "Irving", Team = new Team(){ Id = 1, Name = "Boston Celtics" }, TeamId = 1 }, new Player () { Id = 1, Name = "Stephan", Surname = "Carry", Team = new Team(){ Id = 2, Name = "Golden State Warriors" }, TeamId = 2 } }); AdminController target = new AdminController(mock.Object, null); //Action Player[] resultList = ((IEnumerable<Player>)target.Index().ViewData.Model).ToArray(); //Assert Assert.AreEqual(resultList.Length, 2); } method which I am testing
public ViewResult Index() { ViewBag.ChoosingTeam = new SelectList(teamRepository.Teams, "Name ", "Name"); return View(playerRepository.Players.ToList()); } why test run failed, may be i lose something or don't understand?