我花了两天时间开始并重新启动这个学习过程,因为我真的不知道如何开始。
我有一个包含三层的MVC4应用程序:Web,Services和Core。控制器向Service层发送请求,该层提供控制器用于为视图保存viewModel的信息。
我的服务层中有以下方法:
public interface ISetServices
{
List<Set> GetBreadcrumbs(int? parentSetId);
Set GetSet(int? setId);
Set CreateSet(string name, string details, int? parentSetId);
void DeleteSet(int? setId);
Card GetCard(int? cardId);
Card CreateCard(List<string> sides, string details, int? parentSetId);
void DeleteCard(int? cardId);
Side GetSide(int? sideId);
List<String> GetSides(Card card);
Side CreateSide(Card card, string content);
void DeleteSide (int? sideId);
}
我正在试图弄清楚如何创建一个单元测试类库来测试这些函数。
运行测试时,我希望删除TestDatabase(如果存在)并重新创建,并播放数据。我在我的Core项目中有一个“受保护”的种子方法以及 - 我可以使用它吗?如果是这样,怎么样?
我读过的每个地方都说在测试中从不使用数据库,但我无法弄清楚测试的重点是什么。这些服务用于访问和更新数据库......我不需要数据库来测试吗?
我已经创建了一个Project.Services.Tests单元测试项目,但不知道如何连接所有内容。如果可能的话,我想用代码而不是配置文件来做...任何例子或指针都会受到很多赞赏。
答案 0 :(得分:2)
这个问题涉及很多方面,让我试着接近一些:
我意识到一开始可能有点压倒性,但同样,这个问题有很多方面。你把你的源代码发布到github并在这里分享它怎么样?