【发布时间】:2010-10-19 23:54:22
【问题描述】:
我正在编写一些代码,需要针对一系列不同的数据库产品工作。
- MySql
- Sql Server 2000 到 2008
- PostgreSQL
- Oracle 9i 和 10g
- Jet 4.0(MS 访问)
- MSDE
- Sybase Adaptive Server Anywhere
- Sybase Sql Anywhere
- OpenEdge 进展
作为持续集成构建的一部分,我们需要针对每个数据库产品运行一组通用集成测试。
我确信其他人必须设置类似的测试环境,我想利用其中的一些智慧 - 您最终使用了哪些策略,哪些策略有效或无效?
一些想法:
- 为每个产品单独的虚拟机,每个都分配少量内存(在某些情况下更易于管理,或者我们对各个产品的设置略有不同)。
- 所有产品的几个虚拟机甚至一个虚拟机(例如,可能是一个用于 postgresql 和 mysql 的 ubuntu 机器,以及一个用于其余产品的 windows 2008 服务器机器) - 我喜欢一两个虚拟机,因为这是用于运行测试的更便携的环境,即在路上/异地时,因为我的笔记本电脑可能会在运行 8 或 10 个小型 VM 时停止运行。
最后,您是如何解决其中一些商业产品(例如 Oracle 或 Progress OpenEdge)的高昂成本的,并且之前的版本是否仍然可用,即是否有免费的“单一开发者”版本可用,或者购买这些产品的更便宜的途径?
【问题讨论】:
标签: sql-server database oracle continuous-integration integration-testing