c# - 如何单元测试数据库依赖行为 C#

标签 c# database unit-testing


我有一个与数据库通信的 C# 应用程序。我想测试一些依赖于数据库的功能。所以我想确保 DB 在每次测试运行之前都有一个初始状态。我使用 NUnit 来测试我的应用程序。有什么方法可以恢复数据库的初始状态?
感谢您的帮助!

最佳答案

您不需要对与数据库的交互进行单元测试。这种类型的测试称为集成测试。您可以为此使用常用的测试工具(NUnit、MSTest 等),但最好是在单独的项目中分离集成测试,使用专用的测试数据库,并在事务中运行这些测试(例如,使用 TransactionScope ) 你回滚。这可确保数据不会更改并且您的测试行为是可预测的,这一点非常重要。

如果可以,请尝试以易于伪造所有外部源(例如数据库)的方式设计您的应用程序,以允许您运行(通常更快)单元测试。然而这并不容易。特别是在处理尚未设计为可测试性的现有应用程序时。在那种情况下,我发现集成测试是一个很好的开始方式。

关于c# - 如何单元测试数据库依赖行为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4212426/

相关文章:

android - 从数据库中获取列表并在 Listview 中显示需要很长时间

c# - 针对数据库队列管理线程池的最佳方法

java - 如何防止 spring boot 在启动时自动创建 bean 'entityManagerFactory' 实例?

c# - 在 asp.net 中保留枚举值

mysql - 以点字段作为参数的 X() 和 Y() MySql 函数返回什么类型的数据

unit-testing - Playframework 2.2.x + Java +JPA - 用于单元测试和生产的单独数据库

java - 针对 Java EE 6 API 进行测试

c# - 在 C# 中的存储过程中使用全局临时表

c# - 是否可以使 GattCharacteristic ValueChange 事件发生在多个设备上?

c# - 在 Codedom 中使用不安全代码构建程序