使用数据库自​​动集成测试C++应用程序

Pet*_*ter 7 c++ database integration-testing automated-tests

我正在向成熟的应用程序引入自动化集成测试,到目前为止只进行了手动测试.

该应用程序是基于Windows的,并与MySQL数据库进行对话.

在将要发生的数据库事务方面,保持测试彼此独立的最佳方法(包括推荐的任何工具的详细信息)是什么?

(对于此特定用途的应用程序源的修改不是一种选择.)

Nic*_*man 3

您如何验证结果?

如果您需要查询数据库(听起来您可能会这样做)以获得结果,那么我同意 Kris K 的观点,除了我会努力在每个测试用例(而不仅仅是每个套件)之后重建数据库。

这有助于避免危险的交互测试

至于工具,我推荐CppUnit您并没有真正进行单元测试,但这并不重要,因为 xUnit 框架应该为您提供自动设置测试装置所需的设置和拆卸框架

显然,这可能会导致测试运行缓慢,具体取决于您的数据库大小、人口等。您可以附加/分离数据库,而不是删除/重建。

如果您有兴趣进一步研究,请查看XUnit 测试模式。对于此类事情来说,这是一本好书,也是一个很好的网站。

感谢您的自动化:)

缺口