PHPUnit的型号和继承哪些ADODB_Active_Record,掘根ADODB_mysql

我搜索高,低和令人惊讶的,无法找到答案。

当试图进行单元测试我的模型使用PHPUnit我怎么能存根数据库?

我使用的PHP框架CMS有一些从一个类(“模型”)从ADODB_Active_Record继承继承的类。 模型的构造抓起db对象(从的ADOConnection),并把它传递给Active_Record的构造。

它可能不是最佳做法,但为了改变尽可能少的代码,我想调整grabDBObject()在测试中,当返回存根的对象。 存根被传递到ADODB_Active_Record,而且,从理论上讲,我可以测试我的模型。

但是,我想不出如何创建存根。 ADODB_Connection并不简单。 它不会成为替换执行()的问题。 还有一堆其他的功能,如QSTR(),它出现,我会担心,并根据需要重写。

什么是令人惊讶的是我无法找到的人做这个的讨论。 这一定是一个共同的问题。 我在错误的方向前进? 我知道我可以使用类似的DbUnit实际做的数据库查询,而不是存根ADODB_connection,但我也明白,我应该存根尽可能的,而且它的坏依靠模型的方法,单元测试的分贝。

因此,1。我应该存根单元测试的数据库连接? 2.如何?

--------------解决方案-------------

你有没有尝试过的PHPUnit的getMock()方法?

它允许您提供一个用于测试的虚假对象,而不触及你的产品代码。

但在这种情况下,你必须自己建立预期的结果。

该文档是在这里:

http://www.phpunit.de/manual/3.0/en/mock-objects.html

分类:单元测试 时间:2013-02-08 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.399 (s). 10 q(s)