使用PDO Sqlite内存中的Db进行PHPUnit测试

时间:2010-09-01 16:14:38

标签: unit-testing zend-framework sqlite phpunit in-memory-database

我最近让PHPUnit使用xDebug来测试我的Zend Framework应用程序。我使用ZF的事实不应该对这个问题产生任何影响 - 只是为了完整性而提到它。

无论如何,一切正常,但现在我想使用PDO SQLite设置内存数据库。我已成功完成此操作并已创建表和插入数据。然而,这个任务似乎需要很长时间,我的Export的语法与SQLites的需求不匹配所以我不得不玩一段时间。

此外,SQLite不支持我的应用程序使用的约束(是吗?),因此如果我无法测试我的约束,整个过程似乎是浪费时间。

使用SQLite是解决我问题的正确方法吗?有没有人有更好的方法使用它或任何其他数据库解决方案进行单元测试?

1 个答案:

答案 0 :(得分:3)

单元测试的想法是测试较小的部分,因此一种方法是使用少量(静态)样本数据,例如http://www.phpunit.de/manual/3.4/en/database.html

中所述

如果您确实需要针对具有所有约束条件的完整数据库进行测试,我认为没有办法只使用应用程序的特定数据库,例如MySQL。