c# - 编写集成测试以测试数据库、Web 服务调用

标签 c# testing integration-testing

我们刚刚开始编写集成测试来测试数据库、数据访问层、网络服务调用等。 目前我有一些想法来编写集成测试,比如 1) 总是在初始化函数中重新创建表。 2) 如果在同一函数内保存新数据,请始终清除函数内的数据。

但我想了解更多好的做法。

最佳答案

与所有测试一样,必须从已知状态开始,并在测试完成后清除到干净状态

此外,测试代码经常被忽视,因为它不是真正的代码,因此没有得到妥善维护......它比代码更重要。至少同样多的设计应该进入你的测试架构。规划合理的抽象级别,即如果您正在测试 Web 应用程序,请考虑采用这样的层:浏览器交互的抽象、页面上组件的抽象、页面和测试的抽象。测试与页面和组件交互,页面与组件交互,组件与浏览器交互层交互,浏览器交互层与您的(可能是第三方)浏览器自动化库交互。

如果您的测试代码维护不当或未经过深思熟虑,它们将成为编写新代码的障碍而不是帮助。

如果您的团队不熟悉测试,那么有很多 coding katas那里的目标是教授良好测试的重要性(并且由此产生良好的代码),他们通常专注于单元测试级别,但是许多原则是相同的。

关于c# - 编写集成测试以测试数据库、Web 服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8246656/

相关文章:

c# - Type.GetType() 不适用于非本地类型?

reactjs - 如何使用 Jest 测试异步组件?

Android Espresso 测试 SwipeRefreshLayout OnRefresh 未在 swipeDown 上触发

spring-boot - spring-boot 上的集成测试抛出连接被拒绝

c# - 中间层中异步 WCF 服务调用和将数据返回到 UI 层的质量设计

c# - 如何获取显示分辨率(屏幕尺寸)?

c# - 如何实现 ICollection.CopyTo 方法?

spring - 难以使用测试代码验证事务内的 hibernate 更新查询

javascript - 如何让我的测试在 Jest 中挂起?

c# - 当知道 xUnit 并行运行时,使用什么策略进行集成测试?