在PHPUnit测试中使用PDO Sqlite内存数据库

4
我最近成功地将xDebug与PHPUnit配合使用,用于测试我的Zend Framework应用程序。我使用ZF不应该对这个问题产生任何影响-只是为了完整性而提到它。
无论如何,一切都运行良好,但现在我想使用PDO SQLite设置一个内存数据库。我已经成功地完成了这个任务,并创建了表并插入了数据。然而,这项任务似乎花费了很长时间,我的导出语法与SQLite的需求不匹配,所以我不得不尝试了一段时间。
此外,SQLite不支持约束(对吗?),而我的应用程序确实使用了约束,因此,如果我无法测试约束,整个过程似乎就是浪费时间。
使用SQLite是解决我的问题的正确方法吗?是否有其他更好的方法来使用它或其他数据库解决方案进行单元测试?

你的问题有点误导性。听起来像是你正在面临如何为与数据库相关的应用程序编写单元测试的问题?好问题,非常好的问题 :-) - Alex
1个回答

4
单位测试的思想是测试更小的部分,因此一种方法可以是使用少量(静态)示例数据进行测试,例如在http://www.phpunit.de/manual/3.4/en/database.html 中所述。如果您确实需要针对包含所有约束条件的完整数据库进行测试,我认为没有绕过使用应用程序的特定数据库的方法,例如MySQL。

好的观点。我认为我需要以不同的方式思考这个问题。停止试图测试我的“应用程序”,开始尝试测试其中的部分。说实话,使用Zend实际上是因为你可以使用PHPUnit测试它的MVC设置而导致的。 - Jake N

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接