我正在研究对数据库有很大依赖性的C ++应用程序。如果我需要实施自动化单元测试,最佳选择是什么?
答案 0 :(得分:1)
理想情况下,单元测试不会与数据库交互,这些将是集成测试,因为您希望单元测试快速且独立(FIRST原则)。 只有在对象和数据库交互之间有清晰的分离时,才可能实现这一点。 可能值得考虑的一个好的折衷方案是使用内存数据库进行单元测试,因为这样可以使测试快速运行,并允许在测试之间保持数据的灵活性。
要考虑的关键事项是如何以及何时重置数据库以确保测试是独立的并且可以按任何顺序运行,除非您专门编写测试以在给定的序列中运行。
然后可以使用实际数据库编写集成测试以获得完整性。