在过去的两天里,我一直在开始和重新开始这个学习过程,因为我真的不知道如何开始。
我有一个包含三层的 MVC4 应用程序:Web、服务和核心。控制器向服务层发送请求,服务层提供控制器用来为视图水合视图模型的信息。
我的服务层中有以下方法:
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,并用数据播种。我的核心项目中有一个“受保护的”种子方法以及 - 我可以使用它吗?如果是这样,怎么做?
我读到的每一个地方都说永远不要在你的测试中使用数据库,但我不能完全弄清楚测试的重点是什么。这些服务用于访问和更新数据库……我不需要数据库来测试吗?
我创建了一个 Project.Services.Tests 单元测试项目,但不知道如何连接所有内容。如果可能的话,我想用代码而不是配置文件来做......任何例子或指针都会非常感激。