我正在向一个成熟的应用程序引入自动化集成测试,该应用程序到目前为止仅经过手动测试。
该应用程序基于 Windows,并与 MySQL 数据库对话。
在将发生的数据库事务方面保持测试彼此独立的最佳方法是什么(包括推荐的任何工具的详细信息)?
(不能为此特定目的修改应用程序源代码。)
最佳答案
您如何验证结果?
如果您需要查询数据库(听起来您可能会这样做)以获得结果,那么我同意 Kris K 的观点,除了我会努力在每个测试用例之后重建数据库,而不仅仅是每个套件。
这有助于避免危险 interacting tests
至于工具,我会推荐CppUnit .您并没有真正进行单元测试,但这无关紧要,因为 xUnit 框架应该为您提供自动设置 test fixture 所需的设置和拆卸框架。
显然,这可能会导致测试运行缓慢,具体取决于您的数据库大小、人口等。您可以附加/分离数据库,而不是删除/重建。
如果您对进一步的研究感兴趣,请查看 XUnit Test Patterns .对于这类事情,这是一本好书和一个很好的网站。
感谢自动化 :)
尼克
关于c++ - 使用数据库自动集成测试 C++ 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/87610/