我们刚刚开始编写集成测试来测试数据库、数据访问层、网络服务调用等。 目前我有一些想法来编写集成测试,比如 1) 总是在初始化函数中重新创建表。 2) 如果在同一函数内保存新数据,请始终清除函数内的数据。
但我想了解更多好的做法。
最佳答案
与所有测试一样,必须从已知状态开始,并在测试完成后清除到干净状态。
此外,测试代码经常被忽视,因为它不是真正的代码,因此没有得到妥善维护......它比代码更重要。至少同样多的设计应该进入你的测试架构。规划合理的抽象级别,即如果您正在测试 Web 应用程序,请考虑采用这样的层:浏览器交互的抽象、页面上组件的抽象、页面和测试的抽象。测试与页面和组件交互,页面与组件交互,组件与浏览器交互层交互,浏览器交互层与您的(可能是第三方)浏览器自动化库交互。
如果您的测试代码维护不当或未经过深思熟虑,它们将成为编写新代码的障碍而不是帮助。
如果您的团队不熟悉测试,那么有很多 coding katas那里的目标是教授良好测试的重要性(并且由此产生良好的代码),他们通常专注于单元测试级别,但是许多原则是相同的。
关于c# - 编写集成测试以测试数据库、Web 服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8246656/