测试资源管理器中的单元测试是否应连接到数据库

本文关键字:连接 数据库 是否 单元测试 资源管理器 测试 | 更新日期: 2023-09-27 18:20:32

测试资源管理器中的单元测试应该连接到数据库吗?

我可以在测试用例之外执行相同的代码,它可以正确地插入数据库。当尝试在VisualStudio测试资源管理器中编写的单元测试中测试存储库(执行插入)时,插入不会发生。

测试资源管理器中的单元测试是否应连接到数据库

单元测试应该测试您的业务层逻辑/方法。它不应该插入到数据库中。如果需要的话,你应该使用一个伪数据访问层(使用Moq/FakeItEasy这样的模拟库)。

一个使用Moq库的快速示例。

var repoMoq = new Mock<IRepository>();
repoMoq.Setup(s=>s.GetStudentName(It.IsAny<int>)).Returns("Test Student");
var bl = new StudentManagementBusinessLayerClass(repoMoq.Object);
// To do : Assert Something now.
// Ex : bl.GetStudent(234);

在这里,您正在嘲笑您的数据访问层,IRepository的GetStudentMethod,以在从单元测试中调用它时返回"TestStudent"。

端到端集成测试是您需要执行的一个完整周期,该周期将数据插入数据库,测试完成后,删除/回滚测试数据。