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

标签 c++ database automated-tests integration-testing

我正在向一个成熟的应用程序引入自动化集成测试,该应用程序到目前为止仅经过手动测试。

该应用程序基于 Windows,并与 MySQL 数据库对话。

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

(不能为此特定目的修改应用程序源代码。)

最佳答案

您如何验证结果?

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

这有助于避免危险 interacting tests

至于工具,我会推荐CppUnit .您并没有真正进行单元测试,但这无关紧要,因为 xUnit 框架应该为您提供自动设置 test fixture 所需的设置和拆卸框架。

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

如果您对进一步的研究感兴趣,请查看 XUnit Test Patterns .对于这类事情,这是一本好书和一个很好的网站。

感谢自动化 :)

尼克

关于c++ - 使用数据库自​​动集成测试 C++ 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/87610/

相关文章:

c++ - 初始化容器中对象的正确方法/模式

C++:如何正确设置 "Item"类

c++ - 断言值文字没有类型是假的?

database - 不同 Entity Framework 模型的相同连接字符串?

node.js - 如何返回从 MongoDb 中的一个数组过滤出来的多个数组

ios - UI 自动化 "could not be tapped because the element is not visible"iOS

testing - 在进行远程测试(二维码等)时有没有办法控制暴露的端口?

python - 使用 Pybind11 包装 STL 容器返回类型

php - 可以将 MD5 转换为 SHA256 吗?

unit-testing - 每晚构建与持续集成 : Long-Running Automated Tests