단위 테스트 및 MVC 3 작업 방법을 배우려고하고 있는데 두 모델을 테스트하는 방법에 문제가 있습니다. 여기에 코드TDD 및 MVC 3, 테스트 모델
public class HomeController : Controller
{
private IRepository _repository;
public HomeController(IRepository repository)
{
_repository = repository;
}
//
// GET: /Home/
public ActionResult Index()
{
return View(_repository.GetAllGenres());
}
}
public interface IRepository
{
IEnumerable<Genre> GetAllGenres();
IEnumerable<Album> GetTopAlbums(int count);
}
이며, 이제 내 질문에 내가 일을 원하는 같은 것을 만들어 가야합니까 어떻게 정확하게이 내 단위 테스트
[TestFixture]
class HomeControllerTests
{
[Test]
public void Test1()
{
//Arrange
var controller = new HomeController(new InMemoryRepository());
var result = (ViewResult) controller.Index();
Assert.AreEqual(10,((IEnumerable<Genre>)result.ViewData.Model).Count());
}
[Test]
public void Test2()
{
var controller = new HomeController(new InMemoryRepository());
var result = (ViewResult) controller.Index();
//I Want to be able to do something like this
Assert.AreEqual(5,result.ViewData.Model.GetTopAlbums(5).Count);
}
}
가정. 또는 Top Albums를 반환하는 ChildActionOnly 메서드를 만듭니다.