【发布时间】:2009-04-10 02:45:14
【问题描述】:
在一个新的 MVC 应用程序中,我正在构建所有模型、控制器、视图等,但还没有设置后端数据库。我知道被支持的会是什么样子,但现在我专注于应用程序。
我知道我可以在控制器中模拟一个虚拟模型,例如:
public ActionResult Pictures()
{
MyMVCApp.Models.Pictures pics = null;
MyMVCApp.Classes.Picture pic1 = new MyMVCApp.Classes.Picture
{
AlbumID=1,
Description="John Doh",
ThumbnailLocation = "Photos/Thumbnails/John.jpg"
};
MyMVCApp.Classes.Picture pic2 = new MyMVCApp.Classes.Picture
{
AlbumID = 2,
Description = "Jane Doh",
ThumbnailLocation = "Photos/Thumbnails/Jane.jpg"
};
pics = new Pictures
{
PageTitle="PHOTO ALBUMS",
PhotoAlbums = new List<MyMVCApp.Classes.PhotoAlbum>()
};
pics.PhotoAlbums.Add(new MyMVCApp.Classes.PhotoAlbum
{
AlbumID = 1,
AlbumName = "Test1",
AlbumCover = pic1,
Created = DateTime.Now.AddDays(-15)
});
pics.PhotoAlbums.Add(new MyMVCApp.Classes.PhotoAlbum
{
AlbumID = 2,
AlbumName = "Test2",
AlbumCover = pic2,
Created = DateTime.Now.AddDays(-11).AddHours(12)
});
return View(pics);
}
这样做至少可以让我在视图上看到一些东西。我担心的是,当我准备好为我的模型实际使用数据库时,我不想丢失我的测试模型。
我应该如何将其分开,这样我就不必每次在真实控制器和测试控制器之间更改视图?
【问题讨论】:
标签: asp.net-mvc unit-testing model-view-controller