【发布时间】:2021-01-15 17:13:50
【问题描述】:
我想从集成测试开始。我正在使用 ASP.NET MVC 3 应用程序。我正在使用 Entity Framework 4 Code First CTP5。我对数据库的集成测试在一个单独的项目中,例如 MyProject.Data.IntegrationTests。
我计划使用 SQL Server CE 4 或 SQLite。关于使用其中任何一种来实现我想要完成的任何建议/提示/意见?
有没有人知道我可以阅读的关于我正在努力完成的任何体面的文章?帮助/反馈将不胜感激。
我正在为我的数据库使用 SQL Server 2008。但是在测试我的存储库时,我想针对上面提到的这些数据库之一进行测试,所以我需要指定连接字符串。
更新
我从服务层(从我的控制器调用)工作,然后服务层将调用我的存储库。例如,下面是我添加新闻的方式:
服务类:
public class NewsService : INewsService
{
private INewsRepository newsRepository;
public NewsService(INewsRepository newsRepository)
{
this.newsRepository = newsRepository;
}
public News Insert(News news)
{
// Insert news item
News newNews = newsRepository.Insert(news);
// Insert audit entry
// Return the inserted news item's unique identifier
return newNews;
}
}
存储库类:
public class NewsRepository : INewsRepository
{
MyContext context = new MyContext();
public NewsRepository()
{
}
public News Insert(News news)
{
int newsId = context.Database.SqlQuery<int>("News_Insert @Title, @Body, @Active",
new SqlParameter("Title", news.Title),
new SqlParameter("Body", news.Body),
new SqlParameter("Active", news.Active)
).FirstOrDefault();
news.NewsId = newsId;
// Return the inserted news item
return news;
}
}
我正在使用 Entity Framework 4 Code First CTP5 和 NUnit。 NUnit 是否有类似于 XUnit 中的回滚功能?
【问题讨论】:
标签: sql-server entity-framework sqlite entity-framework-4 sql-server-ce